MyBatis框架学习Ⅳ

2018-11-28  本文已影响0人  小格zZZ

Talking is Cheap,Show Me the Code

回顾

通过实体类和实体类映射文件,已经实现了简单的查询,这种方式是用 SqlSession 实例来直接执行在User.xml文件中映射的 SQL 语句:
session.selectOne("com.yiibai.mybatis.models.UserMapper.getUserByID", 1);
后来这个基础上,创建接口,通过调用接口类来获取增删改查映射的SQL语句。

注解

但是相比之前采用的方式,还有更简单的方法,使用合理描述参数和SQL语句返回值的接口,通过注解来完成SQL语句的映射,不再需要实体类映射文件。代码更简单、更安全,不容易发生的字符串文字和转换的错误。
下面,使用注解对之前的增删该查进行改写

public interface IUser {
    @Insert("INSERT INTO USERS(name, dept, website, phone) VALUES (#{name}, #{dept}, #{website}, #{phone})")
    public void insertUser(User user);
    @Delete("DELETE FROM USERS WHERE id = #{id}")
    public void deleteUser(int userId);
    @Update("UPDATE USERS SET name = #{name} dept = #{dept}, website = #{website}, phone = #{phone} WHERE id = #{id}")
    public void updateUser(User user);
    @Select("SELECT * FROM USERS")
    public List<User> getUserList();
    @Select("SELECT * FROM USERS WHERE id = #{userId}")
    public User getUser(int id);
}
 reader = Resources.getResourceAsReader("config/Configure.xml");
 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
 sqlSessionFactory.getConfiguration().addMapper(IUser.class);
    <!--&lt;!&ndash;实体类映射文件声明&ndash;&gt;-->
    <!--<mappers>-->
        <!--<mapper resource="com/bean/User.xml" />-->
    <!--</mappers>-->
上一篇 下一篇

猜你喜欢

热点阅读