zoukankan      html  css  js  c++  java
  • mybatis 的CRUD操作

    mybatis 的CRUD操作

    注解类

    在配置好的注解类环境里面进行crud操作

    在iuserdao.java里面进行方法增加

    package com.itheima.dao;
    
    import com.itheima.domain.User;
    import org.apache.ibatis.annotations.Delete;
    import org.apache.ibatis.annotations.Insert;
    import org.apache.ibatis.annotations.Select;
    import org.apache.ibatis.annotations.Update;
    
    import java.util.List;
    
    /**
     * @author 黑马程序员
     * @Company http://www.ithiema.com
     * 在mybatis中针对,CRUD一共有四个注解
     *  @Select @Insert @Update @Delete
     */
    public interface IUserDao {
    
        /**
         * 查询所有用户
         * @return
         */
        @Select("select * from user")
        List<User> findAll();
    
        /**
         * 保存用户
         * @param user
         */
        @Insert("insert into user(username,address,sex,birthday)values(#{username},#{address},#{sex},#{birthday})")
        void saveUser(User user);
    
        /**
         * 更新用户
         * @param user
         */
        @Update("update user set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address} where id=#{id}")
        void updateUser(User user);
    
        /**
         * 删除用户
         * @param userId
         */
        @Delete("delete from user where id=#{id} ")
        void deleteUser(Integer userId);
    
        /**
         * 根据id查询用户
         * @param userId
         * @return
         */
        @Select("select * from user  where id=#{id} ")
        User findById(Integer userId);
    
        /**
         * 根据用户名称模糊查询
         * @param username
         * @return
         */
    //    @Select("select * from user where username like #{username} ")
        @Select("select * from user where username like '%${value}%' ")
        List<User> findUserByName(String username);
    
        /**
         * 查询总用户数量
         * @return
         */
        @Select("select count(*) from user ")
        int findTotalUser();
    }
    

    创建AnnotationCRUDTest.java文件

    package com.itheima.test;
    
    import com.itheima.dao.IUserDao;
    import com.itheima.domain.User;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    import java.io.InputStream;
    import java.util.Date;
    import java.util.List;
    
    /**
     * @author 黑马程序员
     * @Company http://www.ithiema.com
     */
    public class AnnotationCRUDTest {
        private InputStream in;
        private SqlSessionFactory factory;
        private SqlSession session;
        private IUserDao userDao;
    
        @Before
        public  void init()throws Exception{
            in = Resources.getResourceAsStream("SqlMapConfig.xml");
            factory = new SqlSessionFactoryBuilder().build(in);
            session = factory.openSession();
            userDao = session.getMapper(IUserDao.class);
        }
    
        @After
        public  void destroy()throws  Exception{
            session.commit();
            session.close();
            in.close();
        }
    
    
        @Test
        public void testSave(){
            User user = new User();
            user.setUsername("mybatis annotation");
            user.setAddress("北京市昌平区");
    
            userDao.saveUser(user);
        }
    
        @Test
        public void testUpdate(){
            User user = new User();
            user.setId(57);
            user.setUsername("mybatis annotation update");
            user.setAddress("北京市海淀区");
            user.setSex("男");
            user.setBirthday(new Date());
    
            userDao.updateUser(user);
        }
    
    
        @Test
        public void testDelete(){
            userDao.deleteUser(51);
        }
    
        @Test
        public void testFindOne(){
            User user = userDao.findById(57);
            System.out.println(user);
        }
    
    
        @Test
        public  void testFindByName(){
    //        List<User> users = userDao.findUserByName("%mybatis%");
            List<User> users = userDao.findUserByName("mybatis");
            for(User user : users){
                System.out.println(user);
            }
        }
    
        @Test
        public  void testFindTotal(){
            int total = userDao.findTotalUser();
            System.out.println(total);
        }
    }
    
  • 相关阅读:
    在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口
    使用Setup Factory安装包制作工具制作安装包
    PostgreSQL介绍以及如何开发框架中使用PostgreSQL数据库
    在DevExpress中使用CameraControl控件进行摄像头图像采集
    读取数据库信息构建视图字段的备注信息,方便程序代码生成
    混合框架中Oracle数据库的还原处理操作
    使用图片视频展示插件blueimp Gallery改造网站的视频图片展示
    .NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
    在Winform界面菜单中实现动态增加【最近使用的文件】菜单项
    文字处理控件TX Text Control的使用
  • 原文地址:https://www.cnblogs.com/Lilwhat/p/12565561.html
Copyright © 2011-2022 走看看