java之mybatis之使用mybatis实现crud操作


目录结构:

1.封装 mybatis 的工具类:

MybatisUtil.java

public class MybatisUtil {
    private static SqlSessionFactory getSqlSessionFactory() throws IOException{
        Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
        return  new SqlSessionFactoryBuilder().build(reader);
    }
    public static SqlSession getSqlSession() throws IOException{
        //填写参数 true表示事务自动提交
        return getSqlSessionFactory().openSession(true);
    }
}

2.vo类

User.java

 1 public class User implements Serializable{
 2     private int id;
 3     private String name;
 4     private int age;
 5     public int getId() {
 6         return id;
 7     }
 8     public void setId(int id) {
 9         this.id = id;
10     }
11     public String getName() {
12         return name;
13     }
14     public void setName(String name) {
15         this.name = name;
16     }
17     public int getAge() {
18         return age;
19     }
20     public void setAge(int age) {
21         this.age = age;
22     }
23     @Override
24     public String toString() {
25         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
26     }
27 }

3.映射文件

UserMapper.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">


    

    
    
    
    
        insert into t_user(name,age) values(#{name},#{age})
    
    
    
        delete from t_user where id=#{id}
    
    
    
        update t_user set name=#{name},age=#{age} where id=#{id}
    

 4.核心配置文件

mybatis.cfg.xml

<?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">

    
    <properties resource="jdbc.properties">
    
    
        
        <package name="cn.sxt.vo"/>
        
    
    
    default="development">
        
            
            
            
            
                driver}" />
                url}" />
                username}" />
                password}" />
            
        
    
    
        
        
    

jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=1111

5.测试

MybatisTest.java

public class MybatisTest {
    @Test
    public void testAdd() throws IOException{
        User user = new User();
        user.setName("刘德华");
        user.setAge(55);
        SqlSession session = MybatisUtil.getSqlSession();
        //增 删  改  返回值为受影响的行数
        session.insert("cn.sxt.vo.UserMapper.insertUser", user);
        session.close();
    }
    @Test
    public void testUpdate() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        User user=session.selectOne("cn.sxt.vo.UserMapper.selectUser", 1);
        user.setName("彰五金");
        session.update("cn.sxt.vo.UserMapper.updateUser",user);
        session.close();
    }
    @Test
    public void testDelete() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        session.delete("cn.sxt.vo.UserMapper.deleteUser", 3);
        session.close();
    }
    @Test
    public void testFindAll() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        List list = session.selectList("cn.sxt.vo.UserMapper.findAll");
        for(User u:list){
            System.out.println(u);
        }
        session.close();
    }
}

相关