加入maven的mybatis坐标,mysql驱动的坐标
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>x.x.x</version></dependency>
<!--mybatis依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.1</version></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency>
下面来写实体类(创建实体类,Student)
删除main和test目录下的自动生成的App.java
在main目录下的最后一个目录中创建chentian.Student.java
package org.example.chentianyu;
//推荐和表名一样,容易记忆
public class Student {
//定义属性,目前你的属性名和列名保持一致
private Integer id;
private String name;
private String email;
private Integer age;
}
笔记本中,f系列的按键上有商家的自定义宏那么可以Fn+Alt+prt sc按键,一般没改的情况下机械键盘是Alt+ins可以呼出快速定义getter和setter方法的一系列快捷键
package org.example.chentianyu;
//推荐和表名一样,容易记忆
public class Student {
//定义属性,目前你的属性名和列名保持一致
private Integer id;
private String name;
private String email;
private Integer age;
public Student() {
}
public Student(Integer id, String name, String email, Integer age) {
this.id = id;
this.name = name;
this.email = email;
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer 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 +
'}';
}
}
操作数据的Dao接口(创建持久层的dao接口)
在上面的org.example目录上创建一个dao.StudentDao的接口
package org.example.dao;
import org.example.chentianyu.Student;
import java.util.List;
//接口,操作student表
public interface StudentDao {
//查询student表的所有数据
public List<Student> selectStudents();
}
创建一个mybatis使用的文件
dao > StudentDao.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="org.example.dao.StudentDao">
<!--
select: 表示查询操作
id: 你要执行的sql语句的唯一标识,mybatis会使用这个id的值来找到执行的sql语句
可以自定义,但是要求你使用接口中的方法名称
resultType: (结果类型的,是sql执行后得到的ResultSet,遍历这个ResultSet得到的java对象的类型)表示标签里的sql语句执行后转变的java对象的类型
值写全限定名称
-->
<select id="selectStudents" resultType="org.example.chentianyu.Student">
select * from student order by id
</select>
</mapper>
<!--
sql映射文件: 写sql语句的,mybatis执行这些sql
1.<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
指定约束文件;mybatis-3-mapper.dtd是约束文件的名称,扩展名是dtd的。
2.约束文件的作用: 限制,检查在当前文件中出现的标签,属性必须必须是符合mybatis的要求。
3.mapper 是当前文件的的根目录,必须的。
namespace: 叫做命名空间,唯一值的,可以自定义的字符串
要求你使用dao接口全限定名称。
4.当前文件中,可以使用特定的标签,表示数据库的特定操作
<select>: 表示查询
<update>: 表示更新数据库的操作,就是在<update>标签中,写的是update sql语句
<insert>: 表示插入,放的是insert语句
<delete>: 表示的是删除,它执行delete语句
-->
