MyBatis学习笔记(1)

来源:互联网 发布:公安机关优化发展环境 编辑:程序博客网 时间:2024/06/08 12:37

什么是MyBatis?


MyBatis 世界上流行最广泛的 SQL 映射框架,由 Clinton Begin 在 2002 年创建,其后,捐献给了 Apache基金会,成立了 iBatis 项目。2010 年 5 月,将代码库迁致 Google Code,并更名为 MyBatis。
关于以前的版本,请访问 http://ibatis.apache.org/
关于更名后最新的版本,请访问:http://code.google.com/p/mybatis/

MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的 JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的 XML 和注解来配置和映射基本数据类型 、Map 接口和 POJO 到数据库记录。


MyBatis入门程序

  • 编写SqlMapConfig.xml文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><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://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=UTF-8" /><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><mapper resource="com/icss/dao./UserMapper.xml"/></mappers></configuration>

注意:在xml文件中有以下几类字符要进行转义替换:

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号

  • 映射文件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="com.icss.dao.UserMapper" >  <resultMap id="BaseResultMap" type="com.icss.po.User" >    <id column="userId" property="userid" jdbcType="INTEGER" />    <result column="userName" property="username" jdbcType="VARCHAR" />  </resultMap>  <sql id="Base_Column_List" >    userId, userName  </sql>  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >    select     <include refid="Base_Column_List" />    from tbl_user    where userId = #{userid,jdbcType=INTEGER}  </select></mapper>
  • 编写测试类TestMybatis.java
package com.icss;import java.io.IOException;import java.io.InputStream;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 org.junit.Test;import com.icss.po.User;public class TestMybatis {@Testpublic void findUserById() throws IOException {//mybatis配置文件String resourse = "SqlMapConfig.xml";//获取配置文件流InputStream is = Resources.getResourceAsStream(resourse);//创建会话工厂SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);//通过会话工厂获取SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();User user = sqlSession.selectOne("com.icss.dao.UserMapper.selectByPrimaryKey", 1);System.out.println(user);sqlSession.close();}}

结果:User [userid=1, username=Mr_Li]

1 0
原创粉丝点击