本次MyBatis基础实例教程主要讲述MyBatis在项目中的配置方法,实体对象的关系映射、关联关系,以及如何实现一个BaseDao的功能

实例数据库的表结构

CREATE TABLE `blog_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(45) NOT NULL,
`user_pass` varchar(45) NOT NULL,
`nick_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; CREATE TABLE `blog_article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`art_title` varchar(100) NOT NULL,
`art_content` text NOT NULL,
`art_pubtime` datetime DEFAULT NULL,
`pub_user_id` varchar(45) DEFAULT NULL,
`cate_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; CREATE TABLE `blog_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cate_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

###整个MyBatis 应用使用Maven进行管理

1.首先导包  在pom文件中添加相关包的引入

<!-- MyBatis框架 -->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.2.8</version>
</dependency> <!-- MySql数据库驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.34</version>
</dependency> <dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.9</version>
</dependency> <!-- log4j相关包 在控制台输出日志 -->
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.6.1</version>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>1.6.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-nop</artifactId>
  <version>1.6.1</version>
</dependency>

2.在项目中添加log4j.properties文件,输出MyBaits运行日志

log4j.rootLogger=debug,stdout,logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 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} %F %p %m%n 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

3.指定MyBaits核心配置文件(mybatis.cfg.xml)

<?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>
  <environments default="news_res">
<environment id="news_res">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
   <property name="driver" value="com.mysql.jdbc.Driver"/>
   <property name="url" value="jdbc:mysql://localhost:3306/newsdb" />
   <property name="username" value="root"/>
   <property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>

4.完成基本功能测试

public class SessionOpenTest {

    @Test
public void test() {
boolean openFlag=false;
try {
  Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
  SqlSessionFactory ssf = new
       SqlSessionFactoryBuilder().build(reader);
  SqlSession session = ssf.openSession();
if(!session.getConnection().isClosed()){
openFlag = true;
}
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
Assert.assertTrue(openFlag);
}
}
 

本次MyBatis基础实例教程主要讲述MyBatis在项目中的配置方法,实体对象的关系映射、关联关系,以及如何实现一个BaseDao的功能

实例数据库的表结构

CREATE TABLE `blog_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(45) NOT NULL,
`user_pass` varchar(45) NOT NULL,
`nick_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; CREATE TABLE `blog_article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`art_title` varchar(100) NOT NULL,
`art_content` text NOT NULL,
`art_pubtime` datetime DEFAULT NULL,
`pub_user_id` varchar(45) DEFAULT NULL,
`cate_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; CREATE TABLE `blog_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cate_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

###整个MyBatis 应用使用Maven进行管理

1.首先导包  在pom文件中添加相关包的引入

<!-- MyBatis框架 -->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.2.8</version>
</dependency> <!-- MySql数据库驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.34</version>
</dependency> <dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.9</version>
</dependency> <!-- log4j相关包 在控制台输出日志 -->
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.6.1</version>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>1.6.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-nop</artifactId>
  <version>1.6.1</version>
</dependency>

2.在项目中添加log4j.properties文件,输出MyBaits运行日志

log4j.rootLogger=debug,stdout,logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 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} %F %p %m%n 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

3.指定MyBaits核心配置文件

<?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>
  <environments default="news_res">
<environment id="news_res">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
   <property name="driver" value="com.mysql.jdbc.Driver"/>
   <property name="url" value="jdbc:mysql://localhost:3306/newsdb" />
   <property name="username" value="root"/>
   <property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>

4.完成基本功能测试

public class SessionOpenTest {

    @Test
public void test() {
boolean openFlag=false;
try {
  Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
  SqlSessionFactory ssf = new
       SqlSessionFactoryBuilder().build(reader);
  SqlSession session = ssf.openSession();
if(!session.getConnection().isClosed()){
openFlag = true;
}
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
Assert.assertTrue(openFlag);
}
}
 

最新文章

  1. 采用TL026等构成的宽带ALC放大器电路图
  2. DB2表结构DDL脚本导出
  3. 利用VBA+OO4O构造CTAIS开放式通用平台
  4. C语言数组和指针的理解_在取地址运算上的操作_指针加减操作_a 和&amp;a 的区别
  5. 【测试技术】ant中的for循环用法
  6. oracle check if the display variable is set
  7. JavaSE复习日记 : 抽象类
  8. 再起航,我的学习笔记之JavaScript设计模式08(建造者模式)
  9. MySQL多Text字段报8126错误(解决过程)
  10. Universal-Image-Loader源码分析,及常用的缓存策略
  11. Windows上安装配置SSH教程(7)——几种方式对比
  12. [Offer收割] 编程练习赛1
  13. contenOs7编码问题
  14. Koa源码分析(三) -- middleware机制的实现
  15. NDK中使用pthread多线程中自己写的一个BUG
  16. 读写App.config配置文件的方法
  17. Linux 下 Bash配置文件读取
  18. 解决Linux下IDEA无法使用ibus输入法的问题和tip乱码
  19. 【phpstudy】安装Oracle 客户端 并连接
  20. Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案

热门文章

  1. php cookie详解
  2. HashCheck
  3. (Theano 1)Theano自述文件
  4. Native SQL
  5. python_way day17 html-day3 前端插件(fontawsome,easyui,bootstrap,jqueryui,bxslider,jquerylazyload),web框架
  6. iOS问题处理:如何在Mac下显示Finder中的所有文件
  7. E2 2014.5.8 更新日志
  8. javascript学习-原生javascript的小特效(多个运动效果整理)
  9. zoj2589Circles(平面图的欧拉定理)
  10. poj1265Area(pick定理)