这里重点是配置测试环境的搭建:mysql数据库、Eclipse、Mybatis3.2.0、jdk1.7。
一、准备数据库:
创建一个名称为Mybatis的数据库,编码UTF-8,创建一个user表,并添加一条记录。
- Create TABLE `user` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `userName` varchar(50) DEFAULT NULL,
- `userAge` int(11) DEFAULT NULL,
- `userAddress` varchar(200) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- Insert INTO `user` VALUES ('1', '陆逊', '25', '万达广场');
二、源码目录结构:
三、配置文件:
Configuration.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.tgb.mybatis.model.User"/>
- </typeAliases>
- <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://127.0.0.1:3306/mybatis" />
- <property name="username" value="root"/>
- <property name="password" value="123"/>
- </dataSource>
- </environment>
- </environments>
- <mappers>
- <mapper resource="com/tgb/mybatis/model/User.xml"/>
- </mappers>
- </configuration>
四、实体模型:
pojo类型,User包含以下字段:
- public class User {
- private int id;
- private String userName;
- private int userAge;
- private String userAddress;
- //get 、set 方法略
- }
五、定义接口:
- public interface IUserOperation {
- /*
- * 这里面有一个方法名 selectUserByID 必须与 User.xml 里面配置的 select 的id 对应(<select
- * id="selectUserByID")
- */
- public User selectUserByID(int id);
- }
六、映射文件:
User.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="com.tgb.mybatis.inter.IUserOperation">
- <!-- com.yihaomen.mybatis.model.UserMapper -->
- <!-- resultType的值要和Configuration.xml中的实体User的别名相同 -->
- <select id="selectUserByID" parameterType="int" resultType="User">
- select * from `user` where id = #{id}
- </select>
- </mapper>
配置文件是Mybatis的核心,需要遵循下面的规则:
接口中的方法名和参数和配置文件中的id和parameterType分别对应,sql写在配置文件中,参数和调用的类test中的方法一致。sql语句中的参数和实体中的字段名一致,大小写敏感。
七、测试:
- package com.tgb.test;
- import java.io.Reader;
- import java.util.List;
- import org.apache.ibatis.io.Resources;
- import org.apache.ibatis.session.SqlSession;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.apache.ibatis.session.SqlSessionFactoryBuilder;
- import com.tgb.mybatis.inter.IUserOperation;
- import com.tgb.mybatis.model.User;
- public class Test {
- private static SqlSessionFactory sqlSessionFactory;
- private static Reader reader;
- static {
- try {
- // 最终实现了从配置文件中配置工厂的初始化
- reader = Resources.getResourceAsReader("Configuration.xml");
- sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static SqlSessionFactory getSession() {
- return sqlSessionFactory;
- }
- public static void main(String[] args) {
- //测试接口返回用户list列表
- Test testUser=new Test();
- testUser.selectUserByID(1);
- }
- }
八、总结:
这里重点是搭建一个Mybatis的环境,相关的jar包可以从这里下载,下篇文章会对具体的语法进行解释,并会展示增删改查的操作。
配置文件是核心,需要遵循如下规则: 接口中的方法名和参数和配置文件中的id和parameterType分别对应,sql写在配置文件中,参数和调用的类test中的方法一致。sql语句中的参数和实体中的字段名一致,大小写敏感。
另外,Mybatis也支持非接口的编程,因为在开发中一般都会面向接口,所以,这里就不再赘述。
版权声明:本文为博主原创文章,未经博主允许不得转载。