搭建环境——>导入Mybatis——>编写代码——>测试!
搭建环境
搭建一个数据库并新建一个表
create database mybatis;
use mybatis;
create table user{
id int(10) not null primary key comment '编号',
name varchar(30) comment '名字',
pwd varchar(30) comment '密码'
} comment '学生';
insert into mybatis.user(id,namr,pwd) values
(1,'java',1223456),
(2,'dewie',31251263),
(3,'cnwuiv',243678623);
新建一个maven项目
导入maven依赖
mysql
mysql-connector-java
8.0.33
org.mybatis
mybatis
3.5.13
junit
junit
4.13.2
test
在resource文件夹中编写mybatis的核心文件mybatis-config.xml
为了提高代码的复用性,将mybatis开启事务的代码封装成工具类
新建一个工具包util 在在里面创建MybatisUtil
package com.lyc.util;
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 java.io.IOException;
import java.io.InputStream;
public class MyabtisUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
String dataSource = "mybatis-config.xml";
try {
InputStream stream = Resources.getResourceAsStream(dataSource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(stream);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);//自动提交事务
}
}
根据表中数据来编写实体类,新建一个pojo包,创建User类
package com.lyc.pojo;
public class User {
private int id;
private String name;
private String pwd;
public User() {
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
在创建包mapper,新建接口UserMapper和UserMapper.xml
并在接口里写入CRUD方法,在UserMapper.xml中写入对应的SQL语句
注:每一个Mapper.xml文件都需要在Mybatis核心配置文件中注册!
UserMapper.java
package com.lyc.mapper;
import com.lyc.pojo.User;
public interface UserMapper {
User getUserById(int id);
}
UserMapper.xml
测试
public class MyTest {
@Test
public void test()
{
SqlSession sqlSession = MyabtisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.getUserById(1);
sqlSession.close();
}
}
可能会遇到的问题:
1.配置文件没有注册
2.绑定接口错误
3.方法名不对
4.返回类型不对
5.Maven导出资源问题