部署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>
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/> </dataSource> </environment> </environments>
<mappers>
<mapper resource="com/company/dao/UserMapper.xml"></mapper>
</mappers> </configuration>
|