第一个MyBatis程序
配置步骤:
1.新建一个PROJECT
2.新建一个module选择maven
3.新建resources文件,右击Mark Directory as : resources root
MyBatis帮助文档:https://mybatis.org/mybatis-3/zh/getting-started.html
操作步骤:
2.加mybatis依赖 -mybatis驱动-
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
3.创建Student类,get set方法、重写tostring
package org.example.domain;
public class Student {
//定义属性,要求属性名和列名保持一致。
private String id;
private String name;
private String email;
private Integer age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", email='" + email + '\'' +
", age=" + age +
'}';
}
}
4.创建dao层接口,新建StudentDao.xml文件,配置
package org.example.dao;
import org.example.domain.Student;
import java.util.List;
//操作Student表
public interface StudentDao {
//查询student表的所有数据
public List <Student> selectStudents();
}
约束文件不需要记忆。 全限定名 = 包名+类型。
5.在resources文件下,创建mybatis.xml文件
<?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.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/firstdatabase"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/example/dao/StudentDao.xml"/>
</mappers>
</configuration>
测试:
package org.example;
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.example.domain.Student;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyApp {
public static void main(String[] args) throws IOException {
String config ="mybatis.xml";
InputStream in = Resources.getResourceAsStream(config);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
SqlSession sqlSession = factory.openSession();
String sqlId = "org/example/dao/StudentDao.java"+"."+"selectStudents";
List<Student> studentList = sqlSession.selectList(sqlId);
for (Student stu:studentList) {
System.out.println(stu);
}
sqlSession.close();
}
}