# 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/)