1.使用idea创建一个Maven项目

点next然后选择存放的路径,再点finish就好了!
2.在pom.xml里面引入需要的依赖包
<dependencies>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<!-- junit测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- 日志文件管理包 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
</dependencies>
设置自动导入

3.创建测试的数据库



4.在Java项目中创建实体类(pojo)与之一一对应

5.配置文件
- 在resources文件夹下新建映射文件夹mapper,在mapper文件夹下面创建一个UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jl.pojo.User">
<select id="findById" parameterType="int" resultType="com.jl.pojo.User">
SELECT * FROM User WHERE id=#{id}
</select>
<insert id="insertUser" parameterType="com.jl.pojo.User">
insert into user (username,age)values (#{username},#{age})
</insert>
<update id="updateById" parameterType="com.jl.pojo.User">
update user set username =#{username},age=#{age} where id=#{id}
</update>
<delete id="deleteById" parameterType="com.jl.pojo.User">
delete from user where id=#{id}
</delete>
</mapper>
- 在resources文件夹下新建mysql.properties文件,存储数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
jdbc.username=root
jdbc.password=root
- 在resources文件夹下创建mybatis-config.xml文件,存储mybatis配置信息
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="mysql.properties"/>
<settings>
<!--全局性设置懒加载。如果设为‘false’,则所有相关联的都会被初始化加载,默认值为false-->
<setting name="lazyLoadingEnabled" value="true"/>
<!--当设置为‘true’的时候,懒加载的对象可能被任何懒属性全部加载。否则,每个属性都按需加载。默认值为true-->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
<typeAliases>
<!-- 其实就是将bean的替换成一个短的名字-->
<typeAlias type="com.jl.pojo.User" alias="User"/>
</typeAliases>
<!--对事务的管理和连接池的配置-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED"><!--POOLED:使用Mybatis自带的数据库连接池来管理数据库连接-->
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--mapping文件路径配置-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
6.新建一个dao包,创建一个BaseDao类,用于封装获取sqlSession的方法
public class BaseDao {
protected SqlSession getSqlSession(){
String fileName = "mybatis-config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(fileName);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();//数据库连接会话,非jsp的session,切勿搞混。
return sqlSession;
}
}
7.新建一个UserDao继承这个BaseDao然后就可以直接使用它的方法
package com.jl.dao;
import com.jl.pojo.User;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
/**
* @author Lee
* @date 2019-05-07 17:53
*/
public class UserDao extends BaseDao {
/**
* 根据用户的id查找用户
* @param user 用户id
*/
public List<User> findById(User user){
SqlSession sqlSession = this.getSqlSession();
List<User> userList=sqlSession.selectList("findById",user);
sqlSession.close();
return userList;
}
/**
* 添加用户
* @param user
* @return
*/
public int insertUser(User user){
SqlSession sqlSession = this.getSqlSession();
int i = sqlSession.insert("insertUser", user);
sqlSession.commit();
sqlSession.close();
return i;
}
/**
* 根据id修改用户
* @param user
* @return
*/
public int updateById(User user){
SqlSession sqlSession = this.getSqlSession();
int i = sqlSession.update("updateById", user);
sqlSession.commit();
sqlSession.close();
return i;
}
/**
* 根据id删除用户
* @param user
* @return
*/
public int deleteById(User user){
SqlSession sqlSession = this.getSqlSession();
int i = sqlSession.delete("deleteById", user);
sqlSession.commit();
sqlSession.close();
return i;
}
}
注意:除了查询不需要提交其他都需要提交(sqlSession.commit()),记得关闭( sqlSession.close())
8. 在test包里面创建一个UserTest测试一下
package com.jl;
import com.jl.dao.UserDao;
import com.jl.pojo.User;
import org.junit.Test;
/**
* @author Lee
* @date 2019-05-07 17:48
*/
public class UserTest {
UserDao userDao = new UserDao();
User user = new User();
@Test
public void findById() {
user.setId(2);
List<User> userList = userDao.findById(user);
System.out.println(userList);
}
@Test
public void insertUser(){
user.setUsername("赵六");
user.setAge(19);
int i = userDao.insertUser(user);
System.out.println(i);
}
@Test
public void updateById(){
user.setId(3);
user.setUsername("王五");
user.setAge(20);
int i = userDao.updateById(user);
System.out.println(i);
}
@Test## 标题
public void deleteById(){
user.setId(3);
int i = userDao.deleteById(user);
System.out.println(i);
}
}
9.代码测试
- 查找

- 增加


- 修改


- 删除


这篇博客介绍了如何使用Mybatis进行简单的增删改查操作。首先通过Idea创建Maven项目,配置相关依赖,然后建立测试数据库。接着创建实体类并编写配置文件,包括UserMapper.xml、mysql.properties和mybatis-config.xml。为了封装sqlSession,定义了一个BaseDao基类,并创建UserDao继承它。最后在test包下编写UserTest进行CRUD的测试。
1830

被折叠的 条评论
为什么被折叠?



