zoukankan      html  css  js  c++  java
  • SSM整合初级 简单的增删改查

    1.jar包

      

    2.mybatis-config.xm配置文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
         
         <!-- 别名的定制 -->
         <typeAliases>
            <!-- 按类型名定制别名  -->
            <!--   <typeAlias type="cn.happy.entity.Student" alias="Student"/> -->
            
            <!-- 拿当前指定包下的简单类名作为别名  -->
            <package name="cn.happy.entity"/>
         </typeAliases>
     
    
        <environments default="mysql">
            <environment id="mysql">
                <!-- 使用jdbc的事务 -->
                <transactionManager type="JDBC" />
                <!-- 使用自带的连接池 -->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost:3306/y2162" />
                    <property name="username" value="root" />
                    <property name="password" value="root" />
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="cn/happy/dao/StudentDAO.xml" />
        </mappers>
    </configuration>

    3.dao

    public interface IStudentDAO {
        
       public int addStu(Student stu) throws IOException;
       
       //删除
       public int delStu(int id) throws IOException;
       //查询所有记录
       public List<Student> findAll() throws IOException;
       
       
       //按照学生姓名查询学生集合
       public List<Student> findStudntByName(Student stu) throws IOException;
       public List<Student> findStudntByName(String stuname) throws IOException;
       
    }

    daoImpl

    public class StudentDAOImpl implements IStudentDAO {
        SqlSession session ;
        public StudentDAOImpl() throws IOException {
            session= MybatisUtil.getSession();
        }
    
        public List<Student> findStudntByName(String stuname) throws IOException {
             List<Student> list = session.selectList("findStudentByName",stuname);
             session.close();
            return list;
        }
        
         /**
          * 
          * 模糊查询
          */
        
        public java.util.List<Student> findStudntByName(Student stu) throws IOException {
             List<Student> list = session.selectList("findStudentByName",stu);
             session.close();
            return list;
        }
        
      /**
       * 查询所有
       */
    
        public java.util.List<Student> findAll() throws IOException {
             List<Student> list = session.selectList("findAll");
               session.close();
            return list;
        }
        
        /**
         * 删除
         */
        public int delStu(int id) throws IOException {
            int result = session.delete("delStudent",id);
            session.commit();      
               session.close();
            return result;
        }
        
        
        
        public int addStu(Student stu) throws IOException {
           
           int result = session.insert("insertStudent",stu);
           session.commit();      
           session.close();
            return result;
        }
    
    }

    dao.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="cn.happy.dao">
        <insert id="insertStudent" parameterType="Student" >
            insert into student(stuname,stuage,studate) values(#{stuname},#{stuage},#{studate})
            
         <!-- sqlserver 和Mysql 只有自自增  自增时机和insert时机: 先insert返回自增值
         
             Oracle先产生一个自增值,然后再执行insert
          -->
          <selectKey keyProperty="stuno" resultType="int">
               select @@identity
          </selectKey>
    
        </insert>
        <!--删除学生  -->
        
        <delete id="delStudent">
           delete from student where stuno=#{xxx}<!-- #{xxx}随便写,起到一个占位的作用 -->
        </delete>
        <!-- 查询所有 -->
        <select id="findAll" resultType="Student">
          select * from student
        </select>
        
        <!--模糊查询  -->
        <select id="findStudentByName"  resultType="Student">
         <!--  select * from student where  stuname like  concat('%',#{stuname},'%') -->
         select * from student where  stuname like '%${value}%'
        </select>  
        
        
    </mapper>

    MyBatisUitl工具类

      

    /**
     * 工具类
     * @author Happy
     *
     */
    public class MybatisUtil {
        private static String config="mybatis-config.xml";
        static Reader reader;
        static{
            try {
                reader= Resources.getResourceAsReader(config);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        private static SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
        //提供一个可以获取到session的方法
        public static SqlSession getSession() throws IOException{
            
            System.out.println("22222"+factory);
            //弊病,就是工厂是
               // 1.1 openSession到底做了什么
               SqlSession session = factory.openSession();
               System.out.println("3333");
                return session;
        }
    }

    单测

      

    public class MyTest {
        IStudentDAO dao;
        @Before
        public void initData() throws IOException{
            dao=new StudentDAOImpl();
        }
        
        /**
         * 模糊查询
         * @throws IOException
         */
        
        @Test
        public void findStudentByName() throws IOException{
            
            /*Student stu=new Student();
            stu.setStuname("三");*/
            List<Student> list = dao.findStudntByName("三");
            for (Student student : list) {
                System.out.println(student.getStuname());
            }
            
        }
        
        /**
         * selectALl学生
         * @throws IOException
         */
        
        @Test
        public void findAll() throws IOException{
            List<Student> list = dao.findAll();
            for (Student student : list) {
                System.out.println(student.getStuname());
            }
            
        }
        
        
        
        
        /**
         * 删除学生
         * @throws IOException
         */
        
        @Test
        public void delStudent() throws IOException{
            dao.delStu(2);
            System.out.println("ok");
        }
        
        
        @Test
        public void testAdd() throws IOException{
            Student stu=new Student();
            stu.setStuname("张三");
            stu.setStuage(21);
            stu.setStudate(new Date());
            
            System.out.println("添加前"+stu);
            
            IStudentDAO dao=new StudentDAOImpl();
            dao.addStu(stu);
            
            System.out.println("添加后"+stu);
            
        }
    
    }
  • 相关阅读:
    (easy)LeetCode 223.Rectangle Area
    (easy)LeetCode 205.Reverse Linked List
    (easy)LeetCode 205.Isomorphic Strings (*)
    (easy)LeetCode 204.Count Primes
    (easy)LeetCode 203.Remove Linked List Elements
    (easy)LeetCode 202.Happy Number
    (easy)LeetCode 198.House Robber
    (easy)LeetCode 191.Number of 1 Bits
    试题分析
    使用ADO.NET访问数据库
  • 原文地址:https://www.cnblogs.com/s1294/p/6189113.html
Copyright © 2011-2022 走看看