亲宝软件园·资讯

展开

java mybatis框架的配置 java mybatis框架配置详解

人气:0
想了解java mybatis框架配置详解的相关内容吗,在本文为您仔细讲解java mybatis框架的配置的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,mybatis,框架配置,下面大家一起来学习吧。

一个框架的使用,必然离不开其中的组件支持。我们在下载完mybatis框架后,因为大部分的内部结构还没有启动,就要手动的对其进行配置。在之前有提到,mybatis框架的作用就有数据库方面的,所以本篇文章带来了数据库和sql方面的配置方法,大家一起往下面看看具体操作。

1.配置数据库

创建mybatis的配置文件,配置数据库的信息。数据库我们可以配置多个,但是默认的只能用一个。

<?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>
<!-- 加载类路径下的属性文件 -->
<properties resource="db.properties"/>
<!-- 设置一个默认的连接环境信息 -->
<environments default="mysql_developer">
<!-- 连接环境信息,取一个任意唯一的名字 -->
<environment id="mysql_developer">
<!-- mybatis使用jdbc事务管理方式 -->
<transactionManager type="jdbc"/>
<!-- mybatis使用连接池方式来获取连接 -->
<dataSource type="pooled">
<!-- 配置与数据库交互的4个必要属性 -->
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
<!-- 连接环境信息,取一个任意唯一的名字 -->
<environment id="oracle_developer">
<!-- mybatis使用jdbc事务管理方式 -->
<transactionManager type="jdbc"/>
<!-- mybatis使用连接池方式来获取连接 -->
<dataSource type="pooled">
<!-- 配置与数据库交互的4个必要属性 -->
<property name="driver" value="${oracle.driver}"/>
<property name="url" value="${oracle.url}"/>
<property name="username" value="${oracle.username}"/>
<property name="password" value="${oracle.password}"/>
</dataSource>
</environment>
</environments>
</configuration>

2.配置SqlSessionFactory

MyBatis 的SqlSessionFactory 接口除了使用基于 XML 的配置创建外也可以通过 Java API 编程式地被创建。每个在 XML 中配置的元素,都可以编程式的创建。

使用 Java API 创建 SqlSessionFactory,代码如下:

public static SqlSessionFactory getSqlSessionFactoryUsingJavaAPI() {
  if (javaSqlSessionFactory == null) {
    try {
      DataSource dataSource = DataSourceFactory.getDataSource();
      TransactionFactory transactionFactory = new JdbcTransactionFactory();
      Environment environment = new Environment("development", transactionFactory, dataSource);
      Configuration configuration = new Configuration(environment);
      configuration.getTypeAliasRegistry().registerAlias("student", Student.class);
      configuration.getTypeHandlerRegistry().register(PhoneTypeHandler.class);
      configuration.addMapper(StudentMapper.class);
      javaSqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
  return javaSqlSessionFactory;
}

这个配置里,加载了一个映射类。映射类是包含了 SQL 映射注解的 Java类,可以用来取代 XML。然而 ,由于 Java 注解的一些限制和 MyBatis 映射的复杂性,一些高级的映射还是要用 XML 来配置,比如嵌套映射等。由于这个原因,MyBatis 会自动查找和加载已经存在的 XML。

内容扩展:

Mybatis参数的设置

数据库进行添加操作需要注意的问题
​ ①.主键自增:在建立数据库表的时候可以设置主键自增

​ ②.主键不自增:可以自己手动设置

<insert id="save" parameterType="Book" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
    insert into jpa_book (author,createTime,name,price,sales,stock) values (#{author},#{createTime},#{name},#{price},#{sales},#{stock});
  </insert>

keyColumn=“id” 指定数据库表主键字段

​ keyProperty=“id” 设置数据库表对应实体类的属性名

​ useGeneratedKeys=“true” 开启主键自增

​ ③.主键不支持自增:例如Oracle数据库就不支持自增

<selectKey keyProperty="id" resultType="int" keyColumn="id"  order="BEFORE"> 
        select LAST_INSERT_ID <!--或者使用 select UUID()生成-->
      </selectKey>

order=“BEFORE” 表示先生成主键再进行自增

​ select LAST_INSERT_ID 或者使用 select UUID() 通过函数生成主键值

加载全部内容

相关教程
猜你喜欢
用户评论