MyBatis annotation method realizes data addition, deletion, modification and query operations

(1). Create myBatis.xml configuration file

<?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>
    <properties resource="dbcp.properties"/>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driverClassName}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="com.dao.IUserDao"/>
    </mappers>
</configuration>

(2). Write entity class

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    
    
    private Integer uid;
    private String uname;
    private String upass;
}

(3). Create the interface corresponding to the entity class

public interface IUserDao {
    
    
    /*
    * 查询所有对象 
    */
    @Select("select * from user")
    public List<User> getAllUser();
    /*
     * 查询单个对象
     */
    @Select("select * from user where uid=#{uid}")
    public User getUserById(int uid);
    /*
     * 删除单个对象
     */
    @Delete("delete from user where uid=#{uid}")
    public int deleteUser(int uid);
    /*
     * 添加对象对象
     */
    @Insert("insert into user value(#{uid},#{uname},#{upass})")
    public int addUser(User user);

(4). Create a tool class

public class SessionUtils {
    
    
    private static SqlSessionFactory sqlSessionFactory;
    private static SqlSession sqlSession;

    public static SqlSession getSession(){
    
    
        try {
    
    
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("MyBaties.xml"));
            return sqlSessionFactory.openSession(true);
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
        return null;
    }

    public static void closeSession(){
    
    
        if(sqlSession!=null){
    
    
            sqlSession.close();
            sqlSession=null;
        }
    }
}

(5). Create a test class

public class TestUserDao {
    
    
    private SqlSession sqlSession;

    @Before
    public void brfore(){
    
    
        sqlSession = SessionUtils.getSession();
    }
    @After
    public void after(){
    
    
       SessionUtils.closeSession();
    }
    @Test
    public void TestgetAllUser(){
    
    
        IUserDao iUserDao = sqlSession.getMapper(IUserDao.class);
        List<User> allUser = iUserDao.getAllUser();
        for(User user:allUser){
    
    
            System.out.println(user);
        }
    }
    @Test
    public void TestgetUserById(){
    
    
        IUserDao iUserDao = sqlSession.getMapper(IUserDao.class);
        User u = iUserDao.getUserById(1);
        System.out.println(u);
    }
    @Test
    public void TestDeleteUser(){
    
    
        IUserDao iUserDao = sqlSession.getMapper(IUserDao.class);
        int i = iUserDao.deleteUser(3);
        System.out.println(i);
    }
    @Test
    public void TestAddUser(){
    
    
        IUserDao iUserDao = sqlSession.getMapper(IUserDao.class);
        User user = new User(null,"鲁迅","888888");
        int i = iUserDao.addUser(user);
        System.out.println(i);
    }
}

Guess you like

Origin blog.csdn.net/qq_45349018/article/details/104830110