# MybatisTest **Repository Path**: wei_dongdong/mybatis-test ## Basic Information - **Project Name**: MybatisTest - **Description**: mybatis学习 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MybatisTest #### 介绍 mybatis学习 #### 软件架构 软件架构说明 #### 安装教程 ##### 1、mybatis入门之crud ###### 1、创建普通maven项目添加依赖 ```xml org.mybatis mybatis 3.5.4 mysql mysql-connector-java 5.1.48 org.projectlombok lombok 1.18.12 junit junit 4.13 test log4j log4j 1.2.17 ``` ###### 2、resources目录下创建创建数据库属性文件jdbc-config.properties ```properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/myschool?characterEncoding=utf-8 username=root password=123456 ``` ###### 3、resources目录下创建mybatis-config.xml文件 ```xml ``` ###### 3、创建实体类User.java ```java @Data public class User { private Integer id; private String userName; private String password; } ``` ###### 4、创建持久化接口UserDao.java ```java public interface UserDao { /** * 按照用户名(模糊)和密码查询 */ List getUserByCon(@Param("name") String userName,@Param("pass") String password); /** * 查询所有用户信息 */ List getAllUser(); /** * 根据用户名称模糊查询 */ List getUserByName(String userName); /** * 查询总记录数 */ Integer getTotalCount(); /** * 添加用户 */ Integer addUser(User user); /** * 更新用户 */ Integer updateUser(User user); /** * 根据id删除用户 */ Integer delUser(Integer id); } ``` ###### 5、resources/mappers目录下创建UserMapper.xml ```xml insert into user(userName, password) values (#{userName},#{password}) update user set userName=#{userName},password=#{password} where id=#{id} delete from user where id=#{id} ``` ###### 6、Mybatis工具类 ```java public class MyBatisUtil { private static SqlSessionFactory sqlSessionFactory; static { SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder(); try { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = builder.build(inputStream); } catch (IOException e) { e.printStackTrace(); } } //创建SqlSession public static SqlSession createSqlsession() { //创建SqlSession对象 SqlSession sqlSession=sqlSessionFactory.openSession(true); return sqlSession; } //释放资源 public static void close(SqlSession sqlSession) { if (null != sqlSession) { sqlSession.close(); } } } ``` ###### 7、测试方法(接口中按Ctrl + Shift +T,选择junit4) ```java public class UserDaoTest { SqlSession sqlsession = MyBatisUtil.createSqlsession(); UserDao userDao = sqlsession.getMapper(UserDao.class); @Test public void getAllUser() { List userList= userDao.getAllUser(); System.out.println(userList); MyBatisUtil.close(sqlsession); } @Test public void deleteById() { Integer count = userDao.deleteById(11); if (count>0){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } MyBatisUtil.close(sqlsession); } @Test public void addUser() { User user = new User(); user.setUserName("hello"); user.setPassword("556677"); Integer count = userDao.addUser(user); if (count>0){ System.out.println("添加成功"); }else{ System.out.println("添加失败"); } MyBatisUtil.close(sqlsession); } @Test public void queryByUserName() { List be = userDao.queryByUserName("be"); System.out.println(be); } @Test public void updateUser() { User user = new User(); user.setId(10); user.setUserName("shen"); user.setPassword("wwe"); Integer integer = userDao.updateUser(user); System.out.println(integer); MyBatisUtil.close(sqlsession); } @Test public void queryByCon() { String name = "ad"; String pass = "in"; List users = userDao.queryByCon(name, pass); System.out.println(users); MyBatisUtil.close(sqlsession); } @Test public void countTotail() { Integer count = userDao.countTotail(); System.out.println(count); MyBatisUtil.close(sqlsession); } } ``` #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)