完善学习
创建一个maven项目
按顺序点确定
创建成功后,首先打开pom.xml文件
导入依赖,这样才能使用那些jar包
依赖在maven仓库里面找
是一段代码段,粘贴到project标签里面
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zzz</groupId>
<artifactId>mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
第二步,配置核心文件mybatis-config.xml
这个要自己创建.xml文件
创建好了之后粘贴固定的模板
跟上面的xml文本都是固定模板
看需求添加
这个文本是添加到resources文件下面
<?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核心配置文件-->
<configuration>
<!--<settings>-->
<!--<setting name="logImpl" value="STDOUT_LOGGING"/>-->
<!--</settings>-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
</mappers>
</configuration>
该文件中主要是连接数据库的信息,驱动,url,用户名,密码以及映射文件,将我们写好的sql映射文件(UserMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 。
注册方法
<mapper resource="UserMapper.xml" />
接着就开始写接口了
在接口里面写需要的方法
public interface UserMapper {
public User findUserById(int id);
}
与接口配合使用的是接口映射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.queen.mybatis.mapper.UserMapper">
<select id="findUserById" resultType="com.queen.mybatis.bean.User">
select id, loginId, userName, role, note from t_user where id = #{id}
</select>
</mapper>
在namespace处绑定配合的接口
在mapper标签里面写sql代码
最后需要的是两个类
一个是实体类,一个是测试类
public class User {
private String id;
private String loginId;
private String userName;
private String role;
private String note;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getLoginId() {
return loginId;
}
public void setLoginId(String loginId) {
this.loginId = loginId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
@Override
public String toString() {
return "User [id=" + id + ", loginId=" + loginId + ", userName="
+ userName + ", role=" + role + ", note=" + note + "]";
}
}
这个类就是存储和sql有关的东西
测试类如下
public class MyBatisTest {
public SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void test() throws IOException {
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession openSession = sqlSessionFactory.openSession();
try {
User user = openSession.selectOne(
System.out.println(user);
} finally {
openSession.close();
}
}
}
执行可以对应上面的实体类
创建一个mybatis数据库,创建一个相应的表
写入对应的数据
然后执行实体类就可以了
绑定要做到对,空格不能多打
小总结
MyBatis整个调用过程:
根据xml配置文件(全局配置文件)创建一个SqlSessionFactory对象有数据源一些运行环境信息
sql映射文件;配置了每一个sql,以及sql的封装规则等。
将sql映射文件注册在全局配置文件中