mybatis框架时数据访问层框架,底层是对JDBC的封装,近期在学习mybatis,现在对mybatis框架的简单使用搭建流程写一下(持续更新中)
项目建的包名如下:
项目的数据库表如下:
测试结果如下:
建立完项目后要导入mybatis框架的jar包和MySQL的jar包,本篇博客先不涉及到日志的使用,故其jar包先不使用。
流程如下:
1、首先要在src目录下建立一个配置文件,我这里给它取名为mybatis.xml
在全局配置文件中引入 DTD 或 schema
2、新建以mapper结尾的包,在包下新建:实体类+Mapper.xml(本例建的为UserMapper.xml)
文件的作用:编写需要执行的SQL命令,把xml文件理解为实现类
3、测试,(只有在单独使用mybatis时使用,最后整合ssm代码的时候是不需要编写的)
项目的代码如下
配置文件中的代码:
<?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>
<environments default="default">
<environment id="default">
<transactionManager type="JDBC">
</transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="username" value="root"/>
<property name="password" value="111111"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/tqq/mapper/UserMapper.xml"/>
</mappers>
</configuration>
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="a.b">
<select id="selAll" resultType="com.tqq.pojo.User" >
select * from user
</select>
</mapper>
实体类中的代码
package com.tqq.pojo;
public class User {
private int uno;
private String uname;
private String upwd;
public int getUno() {
return uno;
}
public void setUno(int uno) {
this.uno = uno;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
@Override
public String toString() {
return "User [uno=" + uno + ", uname=" + uname + ", upwd=" + upwd + "]";
}
}
测试类中的代码:
package com.tqq.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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 com.tqq.pojo.User;
public class Test {
public static void main(String[] args) throws IOException {
InputStream is = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = factory.openSession();
List<User> list = session.selectList("a.b.selAll");
for (User user : list) {
System.out.println(user.toString());
}
session.close();
}
}