Mybatis的基本使用方法

来源:互联网 发布:js创建标签 编辑:程序博客网 时间:2024/06/08 08:31

1.导入mybatis的jar包mybatis-x.x.x.jar

2.使用XML配置mybatis,创建SqlSessionFactory

 XML配置文件的名称通常为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>  <environments default="development">    <environment id="development">      <transactionManager type="JDBC"/>      <dataSource type="POOLED">        <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>        <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>        <property name="username" value="username"/>  //数据库用户名称        <property name="password" value="password"/>  //数据库用户密码      </dataSource>    </environment>  </environments>  <mappers>    <mapper resource="org/mybatis/example/BlogMapper.xml"/>    <!-- <package name="com.ztfgz.manager.mapper"/> -->  </mappers></configuration>


3.创建持久化类和数据库接口  

4.创建SQL映射文件   (要将SQL映射文件和数据库接口都放在一个包中 )

<?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="test.mybatis.UserMapper">    <!-- 这里namespace必须是UserMapper接口的路径” -->    <insert id="insertUser" parameterType="User">        insert into user(name,age) values(#{name},#{age})        <!-- 这里sql结尾不能加分号,否则报“ORA-00911”的错误 -->    </insert>    <!-- 这里的id必须和UserMapper接口中的接口方法名相同 -->      <!-- 这里的resultType指的是对应方法中的返回值 -->      <!-- 这里的parameterType指的是参数值类型 --><select id="getUser" resultType="User" parameterType="java.lang.String"> select * from user where name=#{name} </select></mapper>


select 语句属性配置细节: 

属性描述取值默认id在这个模式下唯一的标识符,可被其它语句引用  parameterType传给此语句的参数的完整类名或别名  resultType语句返回值类型的整类名或别名。注意,如果是集合,那么这里填写的是集合的项的整类名或别名,而不是集合本身的类名。(resultType 与resultMap 不能并用)  resultMap引用的外部resultMap 名。结果集映射是MyBatis 中最强大的特性。许多复杂的映射都可以轻松解决。(resultType 与resultMap 不能并用)  flushCache如果设为true,则会在每次语句调用的时候就会清空缓存。select 语句默认设为falsetrue|falsefalseuseCache如果设为true,则语句的结果集将被缓存。select 语句默认设为false true|false false timeout 设置驱动器在抛出异常前等待回应的最长时间,默认为不设值,由驱动器自己决定true|falsefalsetimeout 设置驱动器在抛出异常前等待回应的最长时间,默认为不设值,由驱动器自己决定正整数未设置fetchSize设置一个值后,驱动器会在结果集数目达到此数值后,激发返回,默认为不设值,由驱动器自己决定正整数驱动器决定statementTypestatement,preparedstatement,callablestatement。 预准备语句、可调用语句STATEMENT PREPARED CALLABLEPREPAREDresultSetTypeforward_only,scroll_sensitive,scroll_insensitive 只转发,滚动敏感,不区分大小写的滚动

insert语句属性配置细节:

属性描述取值默认id在这个模式下唯一的标识符,可被其它语句引用  parameterType传给此语句的参数的完整类名或别名  flushCache如果设为true,则会在每次语句调用的时候就会清空缓存。select 语句默认设为falsetrue|falsefalseuseCache如果设为true,则语句的结果集将被缓存。select 语句默认设为false true|false false timeout 设置驱动器在抛出异常前等待回应的最长时间,默认为不设值,由驱动器自己决定true|falsefalsetimeout 设置驱动器在抛出异常前等待回应的最长时间,默认为不设值,由驱动器自己决定正整数未设置fetchSize设置一个值后,驱动器会在结果集数目达到此数值后,激发返回,默认为不设值,由驱动器自己决定正整数驱动器决定statementTypestatement,preparedstatement,callablestatement。 预准备语句、可调用语句STATEMENT PREPARED CALLABLEPREPAREDuseGeneratedKeys

告诉MyBatis 使用JDBC 的getGeneratedKeys 方法来获取数据库自己生成的主键(MySQL、SQLSERVER 等

关系型数据库会有自动生成的字段)。默认:false

true|falsefalsekeyProperty

标识一个将要被MyBatis 设置进getGeneratedKeys 的key 所返回的值,或者为insert 语句使用一个selectKey

子元素。

  

 

 

selectKey语句属性配置细节:

 

属性描述取值keyPropertyselectKey 语句生成结果需要设置的属性。 resultType生成结果类型,MyBatis 允许使用基本的数据类型,包括String 、int类型。 order可以设成BEFORE 或者AFTER,如果设为BEFORE,那它会先选择主键,然后设置keyProperty,再执行insert语句;如果设为AFTER,它就先运行insert 语句再运行selectKey 语句,通常是insert 语句中内部调用数据库(像Oracle)内嵌的序列机制。 BEFORE AFTERstatementType像上面的那样, MyBatis 支持STATEMENT,PREPARED和CALLABLE 的语句形式, 对应Statement ,PreparedStatement 和CallableStatement 响应STATEMENT PREPARED CALLABLE

 





 
原创粉丝点击