ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mybatis

2022-07-31 22:31:40  阅读:173  来源: 互联网

标签:文件 这里 StudentDao dao List mybatis select


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有