MyBatis基本入门案例
MyBatis基本入门案例
一、用idea创建maven项目:
二、引入依赖(导包)
<!--引入mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
<!--引入mysql连接依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
</dependency>
注意:
<!--加载src/main/java中所有的xml文件-->
<build>
<finalName>mybatis_1</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
添加上述代码是为了在编译时,将实体包中的映射文件生成到项目下面,否则会报找不到映射文件的错误。
我的配置:
三、创建数据库表
#创建用户表
create table users(
uuid int primary key auto_increment,
username VARCHAR(20) not null,
password VARCHAR(200) not null
);
select * from users;
四、创建持久类及映射文件
1.创建Users实体类
在com.liuyongqi.MyBatis1.pojo包中创建实体User持久类:
package com.liuyongqi.MyBatis1.pojo;
import java.io.Serializable;
public class Users implements Serializable {
private Integer uuid; //用户编号
private String username; //用户名
private String password; //用户密码
public Users() {
}
public Users(Integer uuid, String username, String password) {
this.uuid = uuid;
this.username = username;
this.password = password;
}
public Users(String username, String password) {
this.username = username;
this.password = password;
}
public Integer getUuid() {
return uuid;
}
public void setUuid(Integer uuid) {
this.uuid = uuid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Users{" +
"uuid=" + uuid +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
2.创建UsersMapper.xml映射文件
在com.liuyongqi.MyBatis1.mapper包中创建User持久类的映射文件:UsersMapper.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="UsersMapper">
<!--根据uuid获得对象-->
<select id="getUsersByUuid" parameterType="int" resultType="com.liuyongqi.MyBatis1.pojo.Users">
select * from users where uuid=#{uuid}
</select>
<!--注意:id表示该条select语句的标识
resultType返回类型
parameterType参数类型-->
<!--添加一个用户-->
<insert id="addUsers" parameterType="com.liuyongqi.MyBatis1.pojo.Users">
insert into users(username,password) values(#{username},#{password})
</insert>
<!--修改一个用户的信息-->
<update id="updateUsers" parameterType="com.liuyongqi.MyBatis1.pojo.Users">
update users set username=#{username},password=#{password} where uuid=#{uuid}
</update>
<!--根据用户id删除用户信息-->
<delete id="deleteUsers" parameterType="int">
delete from users where uuid=#{uuid}
</delete>
<!--得到所有的用户-->
<select id="getAllUsers" resultType="com.liuyongqi.MyBatis1.pojo.Users">
select * from users
</select>
</mapper>
五、配置mybatisConfig.xml
mybatisConfig.xml是Mybatis的核心配置文件,在resources中创建mybatisConfig.xml,配置如下
<?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>
<!--1. 配置数据库环境,默认使用development数据库构建环境-->
<environments default="development">
<!--配置环境变量-->
<environment id="development">
<!--配置事务管理器类别-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/db_a?useUnicode=true&characterEncoding=UTF-8"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</dataSource>
</environment>
</environments>
<!--2. 加载映射器:实体类对象/关系映射文件-->
<mappers>
<mapper resource="com/liuyongqi/MyBatis1/mapper/UsersMapper.xml"></mapper>
</mappers>
</configuration>
六、单元测试
package com.liuyongqi.test;
import com.liuyongqi.MyBatis1.pojo.Users;
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.IOException;
import java.io.InputStream;
import java.util.List;
public class TestCRUD {
//获得SqlSession对象,通过SqlSession操作CRUD
private SqlSession sqlSession;
@Before
public void before(){
//读取配置文件,获取SQLSessionFactory
try {
//通过Resources类加载核心配置文件,得到文件的输入流
InputStream inputStream = Resources.getResourceAsStream("mybatisConfig.xml");
//创建会话工厂,编译配置文件流,sqlSessionFactory
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
//通过sqlSessionFactory得到sqlSession象
sqlSession = sqlSessionFactory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
@After
public void after(){
sqlSession.commit();
}
@Test
public void testGetOne(){
//Person person=sqlSession.selectOne("person.getPersonById",1);
//根据ID获得对象
Users users = sqlSession.selectOne("UsersMapper.getUsersByUuid", 1);
System.out.println(users);
}
@Test
public void getAll(){
//得到所有的用户
List<Users> listUsers= sqlSession.selectList("UsersMapper.getAllUsers");
for(Users users : listUsers ){
System.out.println(users);
}
}
@Test
public void testUpdate(){
//修改一个用户的信息
sqlSession.update("UsersMapper.updateUsers",new Users(45,"zs","888888"));
}
@Test
public void testAddUsers(){
//添加一个用户
sqlSession.insert("UsersMapper.addUsers",new Users("zhangsan","123456"));
}
@Test
public void testdelete(){
//根据用户id删除用户信息
sqlSession.delete("UsersMapper.deleteUsers",45);
}
}
1.增加用户
@Test
public void testAddUsers(){
//添加一个用户
sqlSession.insert("UsersMapper.addUsers",new Users("zhangsan","123456"));
}
测试成功
2.删除用户
@Test
public void testdelete(){
//根据用户id删除用户信息
sqlSession.delete("UsersMapper.deleteUsers",45);
}
测试成功
删除前
删除后
3.修改用户
@Test
public void testUpdate(){
//修改一个用户的信息
sqlSession.update("UsersMapper.updateUsers",new Users(45,"zs","888888"));
}
测试成功
修改前
修改后
4.查询单个用户的信息
@Test
public void testGetOne(){
//Person person=sqlSession.selectOne("person.getPersonById",1);
//根据ID获得对象
Users users = sqlSession.selectOne("UsersMapper.getUsersByUuid", 1);
System.out.println(users);
}
测试成功
5.查询所有的用户
@Test
public void getAll(){
//得到所有的用户
List<Users> listUsers= sqlSession.selectList("UsersMapper.getAllUsers");
for(Users users : listUsers ){
System.out.println(users);
}
}
测试成功
今天就测试到这里了.....
如果大家想浏览我的下一篇文章,请留言
版权声明:此文章属于原创,不准随意转载:https://blog.****.net/LYQ2332826438