0


MyBatis学习内容总结(一)

一、MyBatis简介

1.1 MyBatis介绍

MyBatis是一个

半自动

ORM

框架

ORM(Object Relational Mapping)对象关系映射,将Java中的一个对象与数据表中一行记录一一对应。

ORM框架提供了实体类与数据表的映射关系,通过映射文件的配置,实现对象的持久化。

  • MyBatis的前身是iBatis,iBatis是Apache软件基金会提供的一个开源项目
  • 2010年iBatis迁移到Google code,正式更名为MyBatis
  • 2013年迁移到Github托管
  • MyBatis特点: - 支持自定义SQL、存储过程- 对原有的JDBC进行了封装,几乎消除了所有JDBC代码,让开发者只需关注SQL本身- 支持XML和注解配置方式自定完成ORM操作,实现结果映射

二、MyBatis框架部署

框架部署,就是将框架引入到我们的项目中

2.1 创建Maven项目

  • Java工程
  • Web工程

2.2 在项目中添加MyBatis依赖

  • 在pom.xml中添加依赖- mybatis- mysql driver<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency>

2.3 创建MyBatis配置文件

  • 创建自定义模板:选择resources----右键New----Edit File Templates 如果版本问题去file----setting中找
  • 在resources中创建名为mybatis-config.xml的文件
  • mybatis-config.xml文件配置数据库连接信息
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 在environments配置数据库连接信息 --><!-- 在environments标签中可以定义多个environment标签,每个environment标签可以定义一套连接配置 --><!-- default属性,用来指定使用哪个environment标签 --><environmentsdefault="mysql"><environmentid="mysql"><!--transactionManager标签用于配置数据库管理方式--><transactionManagertype="JDBC"></transactionManager><!--dataSource标签就是用来配置数据库连接信息 --><dataSourcetype="POOLED"><propertyname="driver"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost:3306/test11?characterEncoding=utf-8"/><propertyname="username"value="root"/><propertyname="password"value="root"/></dataSource></environment></environments></configuration>

三、MyBatis框架使用

案例:学生信息的数据库操作

3.1 创建数据表

tb_students

DROPTABLEIFEXISTS`tb_students`;CREATETABLE`tb_students`(`sid`int(11)NOTNULLAUTO_INCREMENT,`stu_num`char(5)NOTNULL,`stu_name`varchar(20)NOTNULL,`stu_gender`char(2)NOTNULL,`stu_age`int(11)NOTNULL,PRIMARYKEY(`sid`))ENGINE=InnoDBDEFAULTCHARSET=utf8;

3.2 创建实体类

Student.java

packagecom.xinhua.pojo;publicclassStudent{privateint sid;privateString stuNum;privateString stuName;privateString stuGender;privateint stuAge;publicintgetSid(){return sid;}publicvoidsetSid(int sid){this.sid = sid;}publicStringgetStuNum(){return stuNum;}publicvoidsetStuNum(String stuNum){this.stuNum = stuNum;}publicStringgetStuName(){return stuName;}publicvoidsetStuName(String stuName){this.stuName = stuName;}publicStringgetStuGender(){return stuGender;}publicvoidsetStuGender(String stuGender){this.stuGender = stuGender;}publicintgetStuAge(){return stuAge;}publicvoidsetStuAge(int stuAge){this.stuAge = stuAge;}publicStudent(int sid,String stuNum,String stuName,String stuGender,int stuAge){this.sid = sid;this.stuNum = stuNum;this.stuName = stuName;this.stuGender = stuGender;this.stuAge = stuAge;}@OverridepublicStringtoString(){return"Student{"+"sid="+ sid +", stuNum='"+ stuNum +'\''+", stuName='"+ stuName +'\''+", stuGender='"+ stuGender +'\''+", stuAge="+ stuAge +'}';}publicStudent(){}}

3.3 创建DAO接口,定义操作方法

StudentDAO.java

packagecom.xinhua.dao;importcom.xinhua.pojo.Student;publicinterfaceStudentDao{publicintinsertStudent(Student student);}

3.4 创建DAO接口的映射文件

  • resources目录下,新建名为mappers文件夹
  • mappers中新建名为StudentMapper.xml的映射文件(根据模板创建)
  • 在映射文件中对DAO中定义的方法进行实现:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--mapper文件相当于DAO接口的‘实现类’,namespace属性要指定`实现`DAO接口的全限定名--><mappernamespace="com.xinhua.dao.StudentDAO"></mapper><insertid="insertStudent">
        insert into tb_students(stu_num,stu_name,stu_gender,stu_age)
        values(#{stuNum},#{stuName},#{stuGender},#{stuAge})
    </insert><deleteid="deleteStudent">
        delete from tb_students where stu_num=#{stuNum}
    </delete></mapper>

注意:mapper文件中的sql的id为接口中的对应的方法名,sql语句中的#为了防止sql注入的问题,大括号里面的为实体类中的属性

3.5 将映射文件添加到主配置文件

mybatis-config.xml

<mappers><mapperresource="mapper/StudentMapper.xml"></mapper></mappers>

3.5 测试项目的主题结构

在这里插入图片描述

标签: mybatis 学习 java

本文转载自: https://blog.csdn.net/weixin_45523187/article/details/126524396
版权归原作者 程序猿混饭吃 所有, 如有侵权,请联系我们删除。

“MyBatis学习内容总结(一)”的评论:

还没有评论