评论

收藏

[Java] java mybatis框架配置详解

编程语言 编程语言 发布于:2021-08-17 11:40 | 阅读数:400 | 评论:0

一个框架的使用,必然离不开其中的组件支持。我们在下载完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框架的配置内容请搜索CodeAE代码之家
以前的文章或继续浏览下面的相关文章希望大家以后多多支持CodeAE代码之家!
原文链接:https://www.py.cn/java/jiaocheng/23495.html

关注下面的标签,发现更多相似文章