内容简介:MyBatis是第一个支持自定义SQL、存储过程和高级映射的类持久框架。MyBatis消除了大部分JDBC的样板代码、手动设置参数以及检索结果。MyBatis能够支持简单的XML和注解配置规则。使Map接口和POJO类映射到数据库字段和记录。下面我们通过一个简单的项目搭建来带你认识一下MyBatis的使用和一些核心组件的讲解。为了快速构建一个MyBatis项目,我们采用SpringBoot快速搭建的方式。搭建好后在对应的pom.xml下添加如下的maven依赖,主要作用在于引入mybatis一些jar包和类
MyBatis 是什么?
MyBatis是第一个支持自定义 SQL 、存储过程和高级映射的类持久框架。MyBatis消除了大部分JDBC的样板代码、手动设置参数以及检索结果。MyBatis能够支持简单的XML和注解配置规则。使Map接口和POJO类映射到数据库字段和记录。
下面我们通过一个简单的项目搭建来带你认识一下MyBatis的使用和一些核心组件的讲解。
MyBatis 项目构建
为了快速构建一个MyBatis项目,我们采用SpringBoot快速搭建的方式。搭建好后在对应的pom.xml下添加如下的maven依赖,主要作用在于引入mybatis一些jar包和类库
主要分为四个步骤:
config.properties mybatis-config.xml
<!-- mybatis 核心依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!-- 数据库驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> <!-- 单元测试包--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
为了便于更好的说明文章的主旨,这里就不贴出全部代码了,会贴出核心代码部分
编写对应的POJO类和接口式编程Mapper类,这里我们以部门业务逻辑为例,构建一个部门类,有三个属性即部门编号、部门名称、位置,下面是部分代码:
Dept.java
package com.mybatis.beans;
public class Dept {
private Integer deptNo;
private String dname;
private String loc;
public Dept() {}
public Dept(Integer deptNo, String dname, String loc) {
this.deptNo = deptNo;
this.dname = dname;
this.loc = loc;
}
get and set...
}
MyBatis最核心的功能之一就是接口式编程,它可以让我们编写Mapper接口和XML文件,从而把参数和返回结果映射到对应的字段中。
DeptDao.java
package com.mybatis.dao;
public interface DeptDao {
// 通过部门名称查询
public Dept findByDname(String Dname);
// 通过部门编号查询
public Dept findByDeptNo(Integer deptno);
}
在/resources 下新建com.mybatis.dao 包,在其内编写对应的XML配置文件,此XML配置文件和Mapper互为映射关系。
<mapper namespace="com.mybatis.dao.DeptDao" >
<sql id="DeptFindSql">
select * from dept
</sql>
<select id="findByDeptNo" resultType="com.mybatis.beans.Dept">
<include refid="DeptFindSql"></include>
where deptno = #{deptNo}
</select>
<select id="findByDname" resultType="com.mybatis.beans.Dept">
<include refid="DeptFindSql"></include>
where dname = #{dname}
</select>
</mapper>
上述的
<select>
标签用于编写查询语句,查询完成之后需要把结果映射到对象或者map集合等,需要用到 resultType
属性指定对应的结果集。
上述采用了
构建完成基础的SQL语句和映射之后,下面来构建 MySQL 数据库驱动,在/resources 下创建 config.properties
类
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=root jdbc.password=123456
在/resources 下编写MyBatis核心配置文件 myBatis-config.xml
,引入数据库驱动,映射Mapper类
<configuration>
<!-- 设置导入外部properties文件位置 -->
<properties resource="config.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="com.mybatis.dao"/>
</mappers>
</configuration>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 『互联网架构』软件架构-环境搭建maven(三)
- 高并发架构搭建
- 搭建数据驱动测试框架构
- 『互联网架构』软件架构-git服务搭建与使用(四)
- 如何快速搭建一个微服务架构?
- 如何搭建大数据平台技术架构?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
激荡十年,水大鱼大
吴晓波 / 中信出版社 / 2017-11-1 / CNY 58.00
【编辑推荐】 知名财经作者吴晓波新作,畅销十年、销量超过两百万册的《激荡三十年》续篇,至此完成改革开放四十年企业史完整记录。 作为时代记录者,吴晓波有意识地从1978年中国改革开放伊始,记录中国翻天覆地的变化和对我们影响至深的人物与事件,串成一部我们每个人的时代激荡史。而最新的这十年,无疑更壮观,也更扑朔迷离。 很多事情,在当时并未有很深很透的感受,回过头来再看,可能命运的轨迹就......一起来看看 《激荡十年,水大鱼大》 这本书的介绍吧!