玩转MyBatis框架教程02之入门程序
欢迎进群交流(QQ群:655019021)
1、MyBatis入门程序
第一步: 下载mybatis
下载地址:
https://github.com/mybatis/mybatis-3
https://oss.sonatype.org/content/repositories/snapshots/org/mybatis/mybatis/
1.1、MyBatis目录介绍
lib:依赖包
mybatis-3.4.6.jar:mybatis核心jar包
mybatis-3.4.6.pdf:mybatis文档
第二步: 新建数据库和表
/*Tablestructure for table `user` */
DROPTABLE IF EXISTS `user`;
CREATETABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) COLLATE utf8_bin DEFAULTNULL,
`password` varchar(20) COLLATE utf8_binDEFAULT NULL,
`age` int(3) DEFAULT NULL,
`address` varchar(20) COLLATE utf8_binDEFAULT NULL,
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
--插入数据
INSERTINTO USER(NAME,PASSWORD,age,address) VALUES('zhangsan','123456',18,'成都');
INSERTINTO USER(NAME,PASSWORD,age,address) VALUES('lisi','123456',28,'贵州');
INSERTINTO USER(NAME,PASSWORD,age,address) VALUES('wangwu','123456',38,'北京');
第三步:搭建MyBatis项目环境
1、新建项目
mybatis-3.4.6.jar:mybatis核心包
mysql-connector-java-5.1.7-bin.jar:MySQL驱动包
第三步:新建mybatis核心配置文件
在想src路径下新mybais核心配置文件SqlMapConfig.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">
<!-- mybatis核心配置 -->
<configuration>
<!-- 数据库相关配置 -->
<environments default="development">
<environment id="development">
<!-- 声明事务类型 -->
<transactionManager type="JDBC"/>
<!-- 连接数据库核心配置-->
<dataSource type="POOLED">
<property name="driver"value="com.mysql.jdbc.Driver" />
<property name="url"value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="username"value="root" />
<property name="password"value="1234" />
</dataSource>
</environment>
</environments>
</configuration>
第四步:新建pojo
新建包:com.itcodeschool.domain
新建类:User.java
package com.itcodeschool.domain;
publicclass User {
privateintid;
private String name;
private String password;
privateintage;
private String address;
}
//省略get/set/toString方法
第五步:创建mapper接口映射文件
新建包:com.itcodeschool.mapper
新建文件:UserMapper.xml
<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 命名空间,但名字必须保证唯一 -->
<mapper namespace="UserMapper">
<!-- id:设置唯一值,resultType 配置返回值类型为User-->
<select id="findUser"resultType="com.itcodeschool.domain.User">
<!-- 编写 SQL 语句 -->
SELECT *FROM User
</select>
</mapper>
第六步:加载接口映射文件
在SqlMapConfig.xml文件末尾加上即可
<!-- 加载UserMapper映射文件 -->
<mappers>
<mapper resource="com/itcodeschool/mapper/UserMapper.xml"/>
</mappers>
第七步:新建测试类
新建包:com.itcodeschool.test
新建测试类:test.java
package com.itcodeschool.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
importorg.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.tomcat.util.collections.SynchronizedStack;
import com.itcodeschool.domain.User;
publicclass UserTest {
publicstaticvoid main(String[] args) {
//1、读取配mybatis核心置文件,转换为输入流
String resource = "SqlMapConfig.xml";
InputStream in = null;
try {
in = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
//2、根据mybatis核心配置文件输入流构建一个session工厂,SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//3、根据SqlSessionFactory对象开启一个会话:SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> list = sqlSession.selectList("UserMapper.findUser");
System.out.println("总数量:"+list.size());
for(User user : list) {
System.out.println(user);
}
//释放资源
sqlSession.close();
}
}
项目完整目录如下:
第八步:运行测试
第九步:加入日志
加入jar包
在mybatis-3.4.6\lib目录下找到log4j-1.2.17.jar、slf4j-log4j12-1.7.25.jar加入到项目中
在src目录系新建log4j配置文件,log4j.properties
##########Set Log Levels###############
log4j.rootLogger = DEBUG,console
######### Output to console ####################
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
重新运行UserTest.java类
如下图,可以看到更多日志信息
输出更多的日信息有利于查看程序运行过程和排查错误
欢迎进群交流(QQ群:655019021)