欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java mybatis框架配置详解

程序员文章站 2022-07-05 10:07:32
一个框架的使用,必然离不开其中的组件支持。我们在下载完mybatis框架后,因为大部分的内部结构还没有启动,就要手动的对其进行配置。在之前有提到,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() 通过函数生成主键值

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