mybatis
作者:互联网
mybatis框架
1.首先在建立一个表,存有数据的表。
2.IDE这边框架环境已经配置好了,连接数据库(MySQL )
3.找到mybatis-config.xml文件(这是mybatis配置文件)
4.找到driver(驱动程序),把路径改成:"com.mysql.jdbc.Driver"
一般不用改,路径可以找到driver然后复制路径。
5.URL改为:"jdbc:mysql://192.168.1.48:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8"一般也不用改。
6.把username和password(口令,密码)改成相应的。
7.在mapper下面加:<mapper resource="mapper/StudentDao.xml"/>
这里是映射到StudentDao.xml文件里面去。这个文件就算修改完成了。
8.在entity(实体)下面建一个实体类,写一个方法这里以Student为例,这里跟着自己创建的表来写,基本上属性都是private,所以下面涉及了get(读),set(写)。名字与列名对应。方法就是构造方法即可(右击选择generate,这里只要get,set方法即可)。
9.在dao文件下面新建一个StudentDao文件,和新建java差不多,只不过把class选成interface(接口)即可,这里用来接收Student.java的方法。列如:public interface StudentDao { List<Student> select_stu(); } 这里select-stu是名字,随便取。
10.现在接口有了,需要去创建相关的映射文件。需要在resources下面的mapper下面创建StudentDao.xml文件,这里面是写SQL语句,namespace(命名空间),写到StudentDao的路径,这里就是"com.demo.dao.StudentDao",id里面写StudentDao里面的,用于接收Student的那个名字,自己随便写的那个名字select_stu,不是StudentDao。这里就与前面写的文件映射起来了。
11.已经差不多了,现在需要写一个测试类,来测试。
找到test文件下面绿色的java,下面的com.demo,新建一个测试类,在public class MyTest {}里面写需要的方法。
@Test
public void test8() {
session = sqlSessionFactory.openSession();
StudentDao dao = session.getMapper(StudentDao.class);
List<Student> students = dao.select_stu();
for (Student student : students) {
System.out.println(student.getStu_no()+ "\t" + student.getStu_name()+ "\t\t" + student.getGrade());
}
}
对了,测试必须要@test,这样才可以映射过来。
test1(),方法名,
session = sqlSessionFactory.openSession(); DeptDao dao = session.getMapper(StudentDao.class);照写注意get,set这里是查询所以是get,看你自己是什么Dao
List<Student> students = dao.select_stu();将实体全部new成对象,将你的查询方法给他,因为这是查询全部。通过for循环,输出来。
单表查询
Dao访问数据库的接口,这里先声明方法,和是否有参。
返回值类型(注意,全部查询的时候,用集合,返回值类型是集合),方法。
到映射文件这边,标签与增删改查一致。select,insert,delete,update标签对应,然后写SQL语句。
到测试文件这边,数据前两行不变,粘贴复制。
注意这里是new的mapper,这个名字看你自己。
这时候,需要new一个对象来传值,看自己的实体类的名字来new。
这里是Student,然后,student. 点后面自己选,然后相应的值。
最后,一定要调用方法
增删改,一定要提交事务。
多表查询
1.先建立两个表,确保有相同的字段
2.在entity实例下面,建两个java文件,这里的建立重构与单表一致
3.dto(dao的下面)下面建立....DTO文件,还是java文件,这里是将两个表重构在一起。(这里是一个传输的作用)
4.到dao这里,新建Dao文件,声明方法。这里跟着dto来,所以只有一个表。
5.新建他的xml文件,在里面写SQL语句,这里要连接两个表。
(注意这里,要去mybatis-config.xml配置文件里面,添加dao文件路径到这里来,才可以映射)
(查询标签和其他标签,id是你的方法名字,resultType/resultMap是这个方法的返回值类型)。方法名字,和返回值类似是什么,回到上一个文件就知道了。
6.写一个测试类,第一行不变,第二行都要看情况了。
(List<Student1DTO> student1DTOS = mapper.select_stu();的意思是List接口,用了集合,这个List是名字,可以怎么理解,但不能改,尖括号里面的是 类型参数声明部分 ,且必须在方法返回值之前。)
标签:文件,这里,StudentDao,dao,List,mybatis,select 来源: https://www.cnblogs.com/shiyi1/p/16538420.html