zoukankan      html  css  js  c++  java
  • mybatis之注解实现CRUD功能

    mybatis之注解实现CRUD功能

    步骤:

    1、根据表创建pojo类

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

    2、创建接口,并用注解把sql语句写上

    public interface UserDao {
    
        @Select("select * from users")
        public ArrayList<User> getAllUser();
    
        @Insert("insert into users (uname,upass) values (#{user.uname},#{user.upass})")
        public void addUser(@Param("user") User user);
    
        @Update("update users set upass = #{upass} where uid = #{uid}")
        public void updatePass(@Param("uid") int uid,@Param("upass") String upass);
    }
    
    

    3、在mybatis-config。xml文件的mappers中映射接口

     <!--绑定接口-->
        <mappers>
    
            <mapper class="com.cugb.dao.UserDao"/>
        </mappers>
    

    4、测试

    public class UserDaoTest {
        @Test
        public void query(){
            SqlSession sqlSession = DbUtils.getSqlSession();
    
            UserDao userDao = sqlSession.getMapper(UserDao.class);
    
            userDao.addUser(new User(8,"yixiu","122456"));
    
            userDao.updatePass(7,"xiaofuzi");
    
            ArrayList<User> list = userDao.getAllUser();
    
    
            for (User user : list) {
                System.out.println(user);
            }
            sqlSession.commit();
            sqlSession.close();
        }
    }
    

    5、结果

    [com.cugb.dao.UserDao.addUser]-==>  Preparing: insert into users (uname,upass) values (?,?) 
    [com.cugb.dao.UserDao.addUser]-==> Parameters: yixiu(String), 122456(String)
    [com.cugb.dao.UserDao.addUser]-<==    Updates: 1
    [com.cugb.dao.UserDao.updatePass]-==>  Preparing: update users set upass = ? where uid = ? 
    [com.cugb.dao.UserDao.updatePass]-==> Parameters: xiaofuzi(String), 7(Integer)
    [com.cugb.dao.UserDao.updatePass]-<==    Updates: 1
    [com.cugb.dao.UserDao.getAllUser]-==>  Preparing: select * from users 
    [com.cugb.dao.UserDao.getAllUser]-==> Parameters: 
    [com.cugb.dao.UserDao.getAllUser]-<==      Total: 6
    User(uid=1, uname=chenjunwei, upass=111111)
    User(uid=2, uname=zhaojiu, upass=123456)
    User(uid=3, uname=lianguofeng, upass=123456)
    User(uid=4, uname=renpengyu, upass=820122)
    User(uid=7, uname=huangjian, upass=xiaofuzi)
    User(uid=8, uname=yixiu, upass=122456)
    

    说明注解起作用了。

    注解的可读性会比较高,省去了mapper.xml的文件,但在处理复杂的sql语句时会显得比较吃力。mybatis中还是建议使用mapper.xml来代替注解。

  • 相关阅读:
    点击<a>页面跳转解决办法/跨域请求,JSONP
    笔记一下NODEJS建站
    地精排序Gnome Sort ----(排序算法十)
    鸡尾酒排序Cocktail Sort(排序算法九)
    鸽巢排序Pigeonhole Sort----(排序算法八)
    桶排序(Bucket Sort)----(排序算法七)
    堆排序----(排序算法六)
    简单选择排序算法----(排序算法五)
    快速排序----(排序算法四)
    冒泡排序法---排序算法(三)
  • 原文地址:https://www.cnblogs.com/cugb/p/13268578.html
Copyright © 2011-2022 走看看