Mybatis学习笔记一:环境搭建以及简单使用
2016-11-02 13:11
846 查看
1、Mybatis简介
MyBatis 本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis
消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis
使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
以上内容转自百度百科
2、环境搭建
2.1、开发环境搭建
开发环境:IntelliJ IDEA,操作系统:Mac OS 10.12,使用maven管理项目;首先创建项目,并导入相关库,pom.xml文件如下:
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
主要使用mybatis、mysql-connector-java,使用junit进行测试,具体使用哪个版本都可以,下载最新的即可。
2.2、数据库创建
数据库使用mysql,并建立表UserSET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; -- ---------------------------- -- Records of `user` -- ---------------------------- BEGIN; INSERT INTO `user` VALUES ('1', 'zhang', 'password', 'uestc'); COMMIT; SET FOREIGN_KEY_CHECKS = 1;
2.3、配置mybatis配置文件
在main/java/resources文件夹下建立配置文件mybatis-config.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> <!-- 别名 --> <typeAliases> <typeAlias alias="User" type="com.dfz.mybatis.model.User"/> </typeAliases> <!-- 配置数据库参数 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" /> <property name="username" value="root"/> <property name="password" value="zsfarther"/> </dataSource> </environment> </environments> <mappers> <!-- 指定xml文件位置 --> <mapper resource="com/dfz/mybatis/model/User.xml"/> </mappers> </configuration>
可以看到,第一部分为配置实体类的别名;
第二部分为配置数据库的地址等相关信息;
第三部分指定实体类的映射文件。
创建实体类User.java,这个就不再贴代码了,可以按照数据库信息来创建一个User
配置User的映射文件,并写一个查询方法。
<?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="com.dfz.mybatis.model.UserMapper"> <select id="selectUserByID" parameterType="int" resultType="User"> select * from user where id = #{id} </select> </mapper>
在这里定义了方法的命名空间,方法名,参数以及返回值。其中返回值的User是在前面的mybatis-config.xml文件中定义的别名,并以此来映射实体类。
2.4、测试
使用JUnit对mybatis进行测试,测试代码如下:public class Chapter1Test { private SqlSessionFactory sqlSessionFactory; private Reader reader; @Before public void before() { try { //读取mybatis参数 reader = Resources.getResourceAsReader("mybatis-config.xml"); //建立session factory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { e.printStackTrace(); } } @Test public void test() { //打开session SqlSession session = sqlSessionFactory.openSession(); //调用查找方法 User user = session.selectOne("com.dfz.mybatis.model.UserMapper.selectUserByID",1); System.out.println(user); session.close(); } }
结果如下:
3、总结
Mybatis的简要启动顺序为:1、读取配置文件;
2、根据配置文件创建session factory;
3、使用session factory创建session;
4、使用session调用某个方法;
5、关闭session。
Mybatis需要配置的内容包括:
1、配置typeAliases,即某个实体类的别名,用于描述参数;
2、配置数据库参数,包括环境、事务管理以及数据库地址等;
3、配置实体映射文件。
未尽之处后期再补,代码下载地址:https://github.com/EdwardEricZhang/MybatisFun
相关文章推荐
- 学习MyBatis从零开始_01(基础环境搭建以及基本使用)
- MyBatis学习笔记(一)----简单的环境搭建及测试Demo
- OK6410 Linux开发环境搭建--编译以及ubuntu的使用方法学习笔记
- 【JavaEE学习笔记】MyBatis_01_概述,搭建一个简单的环境
- Scala学习笔记-环境搭建以及简单语法
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境(转)
- 第97讲:使用SBT开发Akka第一个案例环境搭建详解学习笔记
- 开始hadoop前的准备:ubuntu学习笔记-基本环境的搭建(ssh的安装,SecureCRT连接,vim的安装及使用、jdk的安装)
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- Nutch1.7学习笔记1:基本环境搭建及使用
- Redis学习——环境搭建以及基础命令使用
- Nutch1.7学习笔记1:基本环境搭建及使用
- Nutch1.7学习笔记:基本环境搭建及使用
- Jquery EasyUI环境搭建以及简单使用
- Adroid学习笔记-入门资料以及V2.3系统开发环境搭建
- [linux学习笔记] 使用fedora20搭建开发环境
- Mybatis学习笔记一(环境搭建)
- 使用VMWareWorkstation10搭建学习环境(学习笔记)
- DERBY数据库环境搭建以及简单使用
- Nutch1.7学习笔记:基本环境搭建及使用