初识MyBatis框架

一、 Maven 搭建 MyBatis 项目
1.1 创建 maven 项目
① 通过菜单创建项目
依次点开 [ 文件 - 新建 - 项目 ] 菜单,选择 Maven ,勾选 archetype 创建 (A) ,再选择 maven
archetype - webapp 点下一步。

 

② 给项目取名
给项目取名,并存放在合适的位置,填写组织 ID (公司名称,如: com.bdqn )。

③ 配置Maven环境

通常,在新项目配置中做好配置之后,这一步不需要做任何修改。

 

④ 点击完成
点击完成按钮,在联网的情况下, IDEA 会自动根据模板构建项目。

 配置项目web目录位

 

 

1.2 配置 pom.xml 文件
① 确认项目名称和打包方式
groupId: 组织 ID
artifactId: 项目名称(产品 ID
version: 版本号
packaging: 打包方式: pom jar war 三种方式

 

② 引入需要的框架支持
dependencies 节点中引入需要的框架支持,通过 指定 Maven 坐标 即可从远程仓库将需要的 jar 包引入
到项目中来。
maven 坐标包括: groupId artifactId version 三项,可以通过官网搜索查看。

 

③ 构建配置资源目录
由于 Maven 构建项目时默认不会将 resources 目录下的配置文件加载到项目中,需要手动指定资源文件
类型及位置,以便 Maven 构建项目时将相关后缀的配置文件加载到构建目录中
注意: 不配置可能会报找不到配置的问题)

 

④ 最终pom.xml配置

二、创建项目目录结构
分包管理项目资源可以让项目结构更清晰,组织更合理,并且按照业界标准执行,大家都能看懂你的项目结构。
2.1 创建目录
① 创建目录步骤
IDEA 目录规则
IDEA 工具会根据目录标记识别目录,不同的目录存放的文件作用是不同的,不能错乱。
src: 源文件目录,存放 java 源代码,只有该目录下的文件才会被编译成 class 文件
resources: 资源文件目录,存放所有配置文件
webapp: Web 文件目录,存放 HTML CSS JS

 

③ 项目包组织结构
最终项目包结构如下:

 

 

项目包结构说明:
java resource webapp 这三个目录应该是在同一层级( src/main/java )中, IDEA 是严格按照目录对
应的用途进行功能划分的,各目录说明如下:
java 源代码,此目录存放 java 源代码。
controller 控制器, MVC 模式的核心控制器层代码。
service 业务逻辑层(也叫服务层),处理业务逻辑的代码,通常被控制器调用。
mapper 数据访问层,处理数据访问相关的代码,这里使用 MyBatis 实现,通常被服务层调用。
pojo 实体类,通常与数据库中的表对应,封装成实体类,在各层级之间传递数据。
resources 配置文件, Spring SpringMVC MyBatis 、数据源、日志等配置文件均放在此处。另
                   外,使用MyBatis时通常我们会把Mapper 映射配置放置在 resources/mapper 目录下。
webapp Web 页面资源,包含页面组件、 CSS JS 、图片和页面等 Web 资源。
webapp/WEB-INF Web 资源中,受保护的目录,直接通过浏览器 URL 是访问不到该目录下的资源
                的,可以使用SpringMVC的视图解析器访问到这个目录下的视图。
web.xml Web 项目的核心配置文件(有时候项目中不一定有,没有的时候会默认使用 Web 容器
                中的web.xml配置), 主要用来配置Filter、Listener、Servlet等

 

三、编写配置
3.1 引入日志配置
resources 目录中编写如下日志文件( log4j.properties ):
### 设置 Logger 输出级别和输出目的地 DEBUG, console,logfile ###
log4j.rootLogger = DEBUG, console,logfile
### 把日志信息输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH : mm : ss} [%5p] %m
%l%n
### 把日志信息输出到文件: jbit.log ###
log4j.appender.logfile = org.apache.log4j.FileAppender
log4j.appender.logfile.File = jbit.log
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern = %d{yyyy-MM-dd HH : mm : ss} [%5p] %m
%l%n
### 单独配置特殊包的日志打印级别 ###
log4j.logger.com.bdqn.mapper = debug
log4j.logger.com.ibatis = debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug
log4j.logger.java.sql.Connection = debug
log4j.logger.java.sql.Statement = debug
log4j.logger.java.sql.PreparedStatement = debug
log4j.logger.java.sql.ResultSet = debug
3.2 编写 MyBatis 核心配置
resources 目录下新建 mybatis - config.xml 文件,可以根据模板来创建。

配置说明:
:根节点,所有配置均包含在此之下
:资源配置,可以用来配置数据源, resource="source.properties" 表示引用外部配置文件
:用来配置属性默认值,例如,配置名称 name="jdbc.driver" ;配置值
value="com.mysql.cj.jdbc.Driver"
:全局配置,用来配置日志、缓存、 Mapper 映射等等
:开启控制台日志
:全自动映射级别
:给类取别名,可以使用 package 指定一个实体类的基础包,也可以使用 typeAlias 为某一个实体
类取别名
:用来配置数据源及事务环境
:配置 SQL 映射文件位置
完整配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 数据源配置,默认配置将会被 source.properties 中的配置文件覆盖 -->
<properties resource = "source.properties" >
<property name = "jdbc.driver" value = "com.mysql.cj.jdbc.Driver" />
<property name = "jdbc.url" value = "jdbc:mysql:///cvs_db?
serverTimezone=UTC&characterEncoding=utf-8" />
<property name = "jdbc.username" value = "root" />
<property name = "jdbc.password" value = "lilibo" />
</properties>
<!-- 全局配置文件 -->
<settings>
<!-- 开启控制台日志 -->
<setting name = "logImpl" value = "STDOUT_LOGGING" />
<!-- 全自动映射级别 -->
<setting name = "autoMappingBehavior" value = "FULL" />
</settings>
<!-- 类型别名 -->
<typeAliases>
<!-- 单独为某个实体类取别名 -->
<!-- <typeAlias type="com.bdqn.pojo.SysUser" alias="sysUser" /> -->
<!-- 给某个包下的所有实体类取别名,别名规则为类名称小驼峰命名法 -->
<package name = "com.bdqn.pojo" />
</typeAliases>
<!-- 数据源及事务配置,可以配置多段 environment id 取名,使用 default 指定当前使用的环境 -
->
<environments default = "dev" >
<environment id = "dev" >
<!-- 事务管理器 -->
<transactionManager type = "JDBC" ></transactionManager>
<!-- 数据源配置 -->
<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>
<!-- SQL 映射文件配置 -->
<mappers>
<mapper resource = "mapper/SysUserMapper.xml" />
</mappers>
</configuration>
3.3 编写数据源配置
数据源配置文件 source.properties 内容如下:
# 驱动名称
jdbc.driver = com.mysql.cj.jdbc.Driver
# 连接字符串
jdbc.url = jdbc : mysql : ///cvs_db?serverTimezone = UTC&characterEncoding = utf-8
# 用户名
jdbc.username = root
# 密码
jdbc.password = ******

四、编写代码

4.1 编写实体类

4.2 编写接口

4.3 编写接口映射文件

        ① 创建接口映射文件 基于MyBatis Mapper模板创建接口对应的映射文件。

         ② 安装MyBatisX插件 在插件市场搜索MyBatisX插件,方便基于MyBatis框架编写代码。

         ③ 编写接口映射文件 基于生成的接口映射文件,编写代码.

五、编写测试代码
5.1 生成测试类
src/test/java 目录中编写测试类,可以通过 MyBatis 接口生成测试类。
5.2 编写测试类
① 编写 @Before 方法
@Before 表示所有测试,在执行之前需要做些什么。这里可以执行获取 SqlSession 对象相关代码。
② 编写 @After 方法
@After 表示所有测试,在执行之后需要做些什么。这里可以执行关闭连接回收资源相关代码。
③ 编写接口测试方法
5.3 运行测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值