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() 通过函数生成主键值
加载全部内容