MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" + "abatis"), 2010 年这个项目由 apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到 Github
- MyBatis 是 JAVA 一款优秀的 持久层框架,它支持定制化 SQL、存储过程以及高级映射。
- MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
- MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象) 映射成数据库中的记录
说到 持久层框架,不得不提到 Hibernate 它太有名了,MyBatis 和 Hibernate 有什么区别呢?就是 Hibernate 比较重,而 MyBatista 比较轻,轻就是 便于使用,方便学习,方便开发与维护
MyBatis 环境搭建
(一)从 Github 下载最新版 MyBatis zip 包
下载地址:https://github.com/mybatis/mybatis-3/releases
官网下载超级慢,博主帮你准备好了 3.4.6 目前最新版:
链接:https://pan.baidu.com/s/1MBriYDUiGTeHNo-hGlUxKA 密码:g6vw
下载后,里面有 jar 包,pdf 帮助文档,要使用 MyBatis, 只需将 mybatis-3.4.6.jar(目前最新是 3.4.6 版本) 文件置于 classpath 中即可。
lib 目录中有一些辅助包,最好全部加到项目中
或者使用 Maven 管理工具
将下面的 dependency 代码置于 pom.xml 文件中:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
(二)下载 mysql-connector-java.jar 包
mysql-connector-java.jar 版本有很多,但是不是所有版本都可以用,这个是根据 MySQL 版本和 JDK 版本确定的,不然很容易出问题,都不知道哪里错了。
常见的:
MySQL8.0 对应 5.1.46 的下载: http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.46/mysql-connector-java-5.1.46.jar
MySQL6.0 对应 5.1.10 的下载: http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.10/mysql-connector-java-5.1.10.jar
(三)导包到项目
新建目录 lib 来存放 jar 包,然后选中 jar 包,右键 【Bulid Path】 >【Add to Bulid Path】
(四)配置日志
为什么要配置日志?
使用过 Hibernate 的应该知道 Hibernate 中有一项功能叫 SQl 语句的输出,这项功能很重要,当我们在调试程序的时候需要通过输出的 SQL 语句看一下 Hibernate 的执行状况,MyBatis 也提供这样的功能,只不过,它是通过日志来输出。
我们需要将 log4j.properties 配置文件拷贝到 src 目录下
你也可以直接下载我 log4j.properties 文件的:https://pan.baidu.com/s/18FZpq1dwWrOWrkMDuXJ3dA 密码:lh7t
log4j.properties 文件源代码参考:
### 配置根 ###
log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE
### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ###
log4j.logger.org.apache=dubug
log4j.logger.java.sql.Connection=dubug
log4j.logger.java.sql.Statement=dubug
log4j.logger.java.sql.PreparedStatement=dubug
log4j.logger.java.sql.ResultSet=dubug
### 配置输出到控制台 ###
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{ABSOLUTE} %5p %c{ 1 }:%L - %m%n
### 配置输出到文件 ###
log4j.appender.fileAppender = org.apache.log4j.FileAppender
log4j.appender.fileAppender.File = logs/log.log
log4j.appender.fileAppender.Append = true
log4j.appender.fileAppender.Threshold = DEBUG
log4j.appender.fileAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 配置输出到文件,并且每天都创建一个文件 ###
log4j.appender.dailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.File = logs/log.log
log4j.appender.dailyRollingFile.Append = true
log4j.appender.dailyRollingFile.Threshold = DEBUG
log4j.appender.dailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 配置输出到文件,且大小到达指定尺寸的时候产生一个新的文件 ###
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=ERROR
log4j.appender.ROLLING_FILE.File=rolling.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=10KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
### 配置输出到邮件 ###
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=chenyl@yeqiangwei.com
log4j.appender.MAIL.SMTPHost=mail.hollycrm.com
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=chenyl@yeqiangwei.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
### 配置输出到数据库 ###
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=SampleMessages.log4j
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout