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);
        }
    }
    
  • 相关阅读:
    php socket 客户端代码
    linux crontab定时执行
    加载 pcntl 多进程
    Xdebug 配置
    Zend Debugger 配置
    windows SVN搭建
    深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
    操作系统-分段机制
    C++中的new、operator new与placement new
    线程安全的概念
  • 原文地址:https://www.cnblogs.com/Lilwhat/p/12565561.html
Copyright © 2011-2022 走看看