部署MyBatis框架

owofile Lv5

部署MyBatis框架

MyBatis框架笔记

核心要素

1. XML配置文件

MyBatis的配置文件,通常包括数据源、映射文件的路径等信息。

2. 映射文件

映射文件定义了数据库表与Java对象的映射关系,包括SQL语句、参数映射等。

3. SqlSessionFactory

SqlSessionFactory是MyBatis的核心接口,用于创建SqlSession实例,通常在应用程序中只需要一个实例。

4. SqlSession

SqlSession是数据库会话,用于执行SQL语句,提交事务等操作。它类似于JDBC中的Connection。

5. Mapper接口

Mapper接口定义了操作数据库的方法,通常与映射文件中的SQL语句相对应。

常用的语句

以下是一些MyBatis中常用的SQL语句:

类型 语句示例 描述
查询 SELECT * FROM users 查询数据库中的所有用户
插入 INSERT INTO users VALUES (...) 向数据库中插入新的用户
更新 UPDATE users SET ... WHERE ... 更新数据库中符合条件的用户信息
删除 DELETE FROM users WHERE ... 删除数据库中符合条件的用户

实现原理

MyBatis的实现原理基于Java反射和动态SQL的概念。它通过XML配置文件中的映射关系将Java对象与数据库表关联,然后动态生成SQL语句,执行数据库操作。MyBatis还提供了缓存机制,可以提高查询性能。

注意事项

导包

需要导入log4j-1.2.17.jar

mybatis-3.5.1.jar

mysql-connector-java-8.0.19.jar

声明文件

database.properties
1
2
3
4
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/cvs\_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
user=root
password=123
log4j.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
log4j.rootLogger=DEBUG,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING\_FILE
log4j.logger.cn.cvs.dao=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
log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debug
######################################################################################
# Console Appender \u65E5\u5FD7\u5728\u63A7\u5236\u8F93\u51FA\u914D\u7F6E
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=error
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n
######################################################################################
# DailyRolling File \u6BCF\u5929\u4EA7\u751F\u4E00\u4E2A\u65E5\u5FD7\u6587\u4EF6\uFF0C\u6587\u4EF6\u540D\u683C\u5F0F:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=error
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
log4j.logger.com.opensymphony.xwork2=error
mybatis-config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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>
<!-- 引入数据库参数-->
<properties resource="database.properties">
</properties>
<!-- 设置运行行为-->
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<!-- 配置MyBatis框架的运行环境-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!-- 导入数据库连接所需要的信息-->
<!-- 使用的JDBC-->
<property name="driver" value="${driver}"/>
<!-- 连接的路径-->
<property name="url" value="${url}"/>
<!-- 数据库账号 这里要注意 所有的name 都是不可变的-->
<property name="username" value="${user}"/>
<!-- 数据库密码-->
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 配置sql映射文件-->
<mappers>
<!-- 第一个 Dao-->
<mapper resource="com/company/dao/UserMapper.xml"></mapper>
<!-- 第二个 Dao-->
</mappers>
</configuration>
  • Title: 部署MyBatis框架
  • Author: owofile
  • Created at : 2022-10-03 11:22:40
  • Updated at : 2025-04-11 21:18:25
  • Link: https://owofile.github.io/blog/2022/10/03/MyBatis框架/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments