一,编写核心的配置文件,链接数据库
<?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="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/student?serverTimezone=UTC&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="Usermapper.xml"/>
</mappers>
</configuration>
下面的<mapper resource="Usermapper.xml"/>是关联的写数据库语句的xml文件
例如,如果想要查询student数据库下的student表中的所有数据
<mapper namespace="dao.UserMapper" >
<select id="getUserList" resultType="pojo.User">
select * from student.student
</select>
</mapper>
<select ></select>中的id属性是和你写的接口名称是一样的
public interface Userdao {
List<User> getUserList();
}
需要编写一个配置类,此配置文件是官网给出的,不能改变。
package MybatisUtil;
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 Util {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//获取SqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession () {
return sqlSessionFactory.openSession();
}
}
编写实体类,里面封装的内容与数据库中的一致
我的数据库中有name age no sex,所以封装了四个变量。
public class User {
private String name;
private int age;
private int no;
private String sex;
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", no=" + no +
", sex='" + sex + '\'' +
'}';
}
public User(String name, int age, int no,String sex) {
this.name = name;
this.sex = sex;
this.age = age;
this.no = no;
}
编写一个测试类进行测试。其中的Util获取SqlSecction对象就是需要Util配置文件去获取。
@Test
public void test(){
//获得sqlSession对象
SqlSession sqlSession=Util.getSqlSession();
//执行SQL 方式一:getMapper
Userdao userdao = sqlSession.getMapper(Userdao.class);
List<User> userList = userdao.getUserList();
for (User user:userList){
System.out.println(user);
}
//关闭sqlsession
sqlSession.close();
}
总结:Mybatis需要五步
一,编写核心配置文件
二,编写配置类,配置类是官网给出的。
三,编写实体类
四,编写接口
五,编写mapper配置文件
六,编写测试类