一个框架的使用,必然离不开其中的组件支持。我们在下载完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() 通过函数生成主键值

到此这篇关于java mybatis框架配置详解的文章就介绍到这了,更多相关java mybatis框架的配置内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!