mybatis入门

来源:互联网 发布:unity3d 镜面反射 编辑:程序博客网 时间:2024/06/07 07:55

从XML中构建SqlSessionFactory

每个基于Mybatis的应用都是一个以SqlSessionFactory为实例的中心。SQLSessionFactory可以通过SqlSessionFactoryBuilder获取。而SqlSessionFactoryBuilder则可以从XML配置文件或者预先定制的Configuration的实例构建出SqlSessionFactory的实例。

从XMl文件构建SqlSessionFactory的实例非常的简单,建议使用类路径下的资源文件进行配置。但是也可以使用输入流(InputSream)实例,包括字符串形式的文件路径或者file://的URL形式的文件路径来配置。Mybatis包含一个名叫Resources的工具类,可是从classpath或者其他位置加载资源文件更加容易。

String resource = "mybatis-conf.xml";InputStream input = Resources.getResourceAsStream(resource);SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input);

XML配置文件中包含了对Mybatis系统的核心设置,包含获取获取数据库连接的数据源(DataSource)和决定事务范围和控制方式的事务管理器(TransationManager)。下面给出一个简单的配置。

<?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="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" />                <property name="username" value="root" />                <property name="password" value="123456" />            </dataSource>        </environment>    </environments>    <mappers>    <mapper resource="BlogMapper.xml"/>    </mappers></configuration>

从SqlSessionFactory中获取SqlSession

SqlSession完全包含了面向数据库执行SQL命令所需的所有方法。可以通过SqlSession实例直接执行已映射的SQL语句。例如(建议使用方法一):
这里写图片描述

或者
这里写图片描述

映射的SQL语句

BlogMapper.class

package com.mybatis.test;public interface BlogMapper {     Blog selectBlog(int id);}

BlogMapper.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.mybatis.test.BlogMapper">  <select id="selectBlog" parameterType="int" resultType="com.mybatis.test.Blog">    select * from t_blog where id=#{id}  </select></mapper>

命名空间(Namespaces)必须填写,且使用如下的命名规则:
完全限定名:比如(包名+类名:com.mybatis.test.Blogmapper)将直接查找并且找到即用。
短名称:全局唯一也可以作为单独的引用。(在mybatis-conf.xml中中配置)

0 0
原创粉丝点击