1.准备数据库
2.创建maven工程
3.在pom文件中引入需要的依赖
4.0.0
com.lsh
MYBATIS-1
0.0.1-SNAPSHOT
mysql
mysql-connector-java
5.1.32
org.mybatis
mybatis
3.5.2
junit
junit
4.12
4.在resource目录下创建mybatis核心配置文件
5.配置mybatis-config.xml
package com.lsh.pojo;
public class User {
private Integer id;
private String name;
private String sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", sex=" + sex + "]";
}
}
7.创建User的映射文件(Mapper/UserMapper.xml),并添加要执行的SQL语句
insert into user value(#{id},#{name},#{sex})
8.在mybatis核心配置文件中添加(注册)映射文件UserMapper.xml
9.创建测试类测试mybatis框架
package com.lsh;
import java.io.IOException;
import java.io.InputStream;
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.Test;
import com.lsh.pojo.User;
public class testMybatis{
private SqlSessionFactory sqlSessionFactory;
private SqlSession sqlSession=null;
{
InputStream inputStream=null;
String resource = "mybatis-config.xml";
try {
//读取mybatis-config.xml文件保存到文件流对象
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
//根据对象中封装的信息创建sqlSessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().
build(inputStream);
//基于sqlSessionFactory创建sqlSession,类似于JDBC中的Connection
sqlSession = sqlSessionFactory.openSession();
}
/**
* 执行此方法插入一条数据
*/
@Test
public void InsertUser(){
//准备数据user
User user=new User();
user.setId(1);
user.setName("张三");
user.setSex("男");
//startement的值为mybatis-config.xml中的
//namespace和要执行的SQL语句的id
String statement="BlogMapper.insertUser";
//执行插入语句
int rows = sqlSession.insert(statement, user);
//提交事务
sqlSession.commit();
System.out.println("受影响行数"+rows);
}
}
@Test如何执行?在有@Test注解的方法上双击选中方法名,再run as
执行结果:
10.增加查询所有记录的方法
1)在UserMapper中增加查询的SQL语句
/**
* 执行此方法查询所有表记录
*/
@Test
public void queryAll(){
String statement="BlogMapper.findAll";
//执行查询,封装到List集合
List
(二)使用接口开发
1.添加UserMapper接口并在其中添加修改的方法
2.修改UserMapper.xml文件中的namespace,并添加修改的SQL语句
需要注意的是:修改SQL语句的id必须和接口中的方法名相同,否则底层无法匹配
3.在testMybatis中添加修改的方法
/**
* 执行此方法修改相应记录
*/
@Test
public void modUser() {
//准备要修改的数据
User user=new User();
user.setId(1);
user.setName("查尔斯");
user.setSex("女");
//获取接口
UserMapper mapper = sqlSession.
getMapper(UserMapper.class);
//执行修改操作
int rows = mapper.updateUser(user);
sqlSession.commit();
System.out.println("受影响行数"+rows);
}
执行结果:
4.重复上面的步骤完成删除
1)在UserMapper.xml文件中添加删除的SQL
delete from user where id=#{id}
2)在UserMapper接口中添加删除的方法
3)在testMybatis中完成删除功能
/**
* 执行此方法删除相应记录
*/
@Test
public void deleteId(){
UserMapper mapper = sqlSession.getMapper
(UserMapper.class);
//删除id为1的记录
int rows = mapper.deleteUser(1);
sqlSession.commit();
System.out.println("受影响行数"+rows);
}
执行结果:
(三)使用注解
1.根据id查询单条记录
1)在接口中添加查询单条记录的方法
2)在testMybatis中完成该功能