`
changhongbao
  • 浏览: 123992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

03、MyBatis学习总结(三)——优化MyBatis配置文件中的配置

 
阅读更多

孤傲苍狼

只为成功找方法,不为失败找借口!

MyBatis学习总结(三)——优化MyBatis配置文件中的配置

一、连接数据库的配置单独放在一个properties文件中

  之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下:

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4     <environments default="development">
 5         <environment id="development">
 6             <transactionManager type="JDBC" />
 7             <!-- 配置数据库连接信息 -->
 8             <dataSource type="POOLED">
 9                 <property name="driver" value="com.mysql.jdbc.Driver" />
10                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
11                 <property name="username" value="root" />
12                 <property name="password" value="XDP" />
13             </dataSource>
14         </environment>
15     </environments>
16     
17 </configuration>
复制代码

  其实我们完全可以将数据库的连接配置信息写在一个properties文件中,然后在conf.xml文件中引用properties文件,具体做法如下:

  1、在src目录下新建一个db.properties文件,如下图所示:

  

  在db.properties文件编写连接数据库需要使用到的数据库驱动,连接URL地址,用户名,密码,如下:

1 driver=com.mysql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/mybatis
3 name=root
4 password=XDP

  2、在MyBatis的conf.xml文件中引用db.properties文件,如下:

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4 
 5     <!-- 引用db.properties配置文件 -->
 6     <properties resource="db.properties"/>
 7     <!-- 
 8         development : 开发模式
 9         work : 工作模式
10      -->
11     <environments default="development">
12         <environment id="development">
13             <transactionManager type="JDBC" />
14             <!-- 配置数据库连接信息 -->
15             <dataSource type="POOLED">
16                 <!-- value属性值引用db.properties配置文件中配置的值 -->
17                 <property name="driver" value="${driver}" />
18                 <property name="url" value="${url}" />
19                 <property name="username" value="${name}" />
20                 <property name="password" value="${password}" />
21             </dataSource>
22         </environment>
23     </environments>
24     
25 </configuration>
复制代码

二、为实体类定义别名,简化sql映射xml文件中的引用

  之前,我们在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名+类名),如下:

<!-- 创建用户(Create) -->
<insert id="addUser" parameterType="me.gacl.domain.User">
    insert into users(name,age) values(#{name},#{age})
</insert>

  parameterType="me.gacl.domain.User"这里写的实体类User的全类名me.gacl.domain.User,每次都写这么一长串内容挺麻烦的,而我们希望能够简写成下面的形式

<insert id="addUser2" parameterType="_User">
    insert into users(name,age) values(#{name},#{age})
</insert>

  parameterType="_User"这样写就简单多了,为了达到这种效果,我们需要在conf.xml文件中为实体类="me.gacl.domain.User"定义一个别名为"_User",具体做法如下:
  在conf.xml文件中<configuration></configuration>标签中添加如下配置:

<typeAliases>
    <typeAlias type="me.gacl.domain.User" alias="_User"/>
</typeAliases>

  这样就可以为me.gacl.domain.User类定义了一个别名为_User,以后_User就代表了me.gacl.domain.User类,这样sql映射xml文件中的凡是需要引用me.gacl.domain.User类的地方都可以使用_User来代替,这就达到了一个简化实体类引用的目的。

  除了可以使用<typeAlias type="me.gacl.domain.User" alias="_User"/>这种方式单独为某一个实体类设置别名之外,我们还可以使用如下的方式批量为某个包下的所有实体类设置别名,如下:

复制代码
<!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
    <typeAliases>
        <!-- 为实体类me.gacl.domain.User配置一个别名_User -->
        <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->
        <!-- 为me.gacl.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
        比如me.gacl.domain.User这个实体类的别名就会被设置成User
         -->
        <package name="me.gacl.domain"/>
    </typeAliases>
复制代码

  <package name="me.gacl.domain"/>就表示为这个包下面的所有实体类设置别名。MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名,比如me.gacl.domain.User这个实体类的别名就会被设置成User。

分享到:
评论

相关推荐

    MyBatis学习(三)——优化MyBatis的配置文件

    1.在property属性中如果配置项很多,那么就会让配置文件显得很庞大。 二、为实体类定义别名,简化sql映射xml文件中的引用 通过给实体类定义别名,简化了在映射xml中的调用代码的书写量 给实体类定义别名为...

    MyBatis学习总结——MyBatis快速入门.docx

    同时,MyBatis的注解功能允许你将XML配置文件中的SQL语句直接写在接口的方法上,使得代码更加简洁。总之,MyBatis作为一个轻量级的持久层框架,为开发者提供了灵活的SQL操作方式,是Java开发中不可或缺的工具之一。

    MyBatis的逆向工程——generatorSqlmapCustom

    MyBatis的逆向工程,也称为代码生成器或者Generator,是MyBatis框架提供的一种自动化工具,能够帮助开发者快速生成基于数据库表的Java实体类、Mapper接口与XML配置文件等,大大提高了开发效率。在本项目...

    Spring+SpringMVC+Mybatis框架整合例子——亲测可用.zip

    这个压缩包中的"SSM整合例子——亲测可用"应该是包含了上述所有配置和实现的源代码,可以作为学习和参考的模板。通过阅读和理解这个例子,开发者可以快速掌握SSM框架的整合过程,提升自己的Java Web开发能力。

    MyBatis的逆向工程——generatorSqlmapCustom (2)

    在本篇文章中,我们将深入探讨MyBatis的逆向工程工具——generatorSqlmapCustom,这是对数据库模式进行自动生成代码的强大功能。在第一部分中,我们可能已经介绍了基础概念,现在我们将继续深入研究这一主题。 逆向...

    【MyBatis入门】—— MyBatis日志

    这篇博客“【MyBatis入门】—— MyBatis日志”旨在帮助初学者理解如何在MyBatis中配置和使用日志功能,以便于调试和优化应用程序。 在MyBatis中,日志系统对于跟踪SQL语句和参数,以及检查执行效率至关重要。...

    【MyBatis学习笔记二】——MyBatis配置说明.zip

    总结来说,MyBatis配置文件是MyBatis框架的核心,它定义了数据源、事务管理、SQL映射和执行策略等关键要素。通过合理的配置,我们可以实现灵活、高效的数据库操作。对于Java开发者而言,掌握MyBatis的配置技巧是提高...

    【MyBatis学习笔记四】——MyBatis分页.zip

    在MyBatis的XML配置文件中,可以编写如下的动态SQL片段来实现分页: ```xml SELECT * FROM user &lt;!-- 添加其他条件 --&gt; ORDER BY id != null and pageSize &gt; 0"&gt; LIMIT #{start}, #{pageSize} ``` ...

    MyBatis与Spring整合——通过官方文档进行最简单的整合

    MyBatis可以使用简单的XML或注解来进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 #### 三、Spring框架简介 Spring框架是用于构建企业级Java应用程序的...

    【java框架】SpringBoot(7) -- SpringBoot整合MyBatis(csdn)————程序..pdf

    例如,我们可以指定Mapper接口的扫描路径以及全局配置文件的位置: ```yaml # application.yaml spring: datasource: url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8 ...

    【MyBatis学习笔记八】——MyBatis缓存.zip

    MyBatis的缓存配置主要通过`mybatis-config.xml`文件进行,首先需要开启全局缓存: ```xml ``` 然后,在Mapper的XML文件中,针对需要缓存的接口方法,添加`cache`元素: ```xml &lt;!-- 查询用户 --&gt; ...

    【原创】Mybatis学习笔记(一)——Spring集成Mybatis

    在本篇【原创】Mybatis学习笔记(一)——Spring集成Mybatis中,我们将探讨如何将流行的持久层框架Mybatis与Spring框架进行整合,以便在实际项目开发中实现灵活、高效的数据库操作。以下是对相关知识点的详细说明: ...

    MyBatis框架的学习(二)——MyBatis架构与入门

    你可以通过它来加载MyBatis的配置文件(mybatis-config.xml)并构建SqlSessionFactory实例。 2. **SqlSessionFactory**:工厂类,负责创建SqlSession对象。SqlSessionFactory是线程安全的,可以在应用的整个生命...

    【MyBatis入门】—— 第一个MyBatis应用

    - **mybatis-config.xml**:这是MyBatis的全局配置文件,用于设置数据源、事务管理器等信息。 - **SqlSessionFactoryBuilder**:用于创建SqlSessionFactory,它是MyBatis的核心对象,负责管理SqlSession。 4. **...

    MyBatis框架的学习(六)——MyBatis整合Spring

    MyBatis是一个优秀的SQL映射框架,它允许开发者将SQL语句直接写在XML配置文件或注解中,使得SQL与Java代码分离,提高代码可读性和可维护性。Spring则是一个全方位的应用框架,提供了依赖注入(DI)、面向切面编程...

    spring-mybatis-struts2-master ——demo

    在项目中,mybatis的配置文件(mybatis-config.xml)会定义数据源、事务管理器等,而Mapper接口和XML映射文件则用于定义具体的SQL操作。 三、Struts2框架 Struts2作为MVC(Model-View-Controller)框架,负责处理...

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...

    Mybatis自学教程——入门篇demo

    接下来,我们需要在Spring配置文件中启用Mybatis,并将Mapper接口与XML文件关联起来。这通常通过`&lt;bean&gt;`标签和`@MapperScan`注解实现。 在运行代码之前,别忘了创建数据库表和填充一些初始数据。对于这个简单的...

    阿里巴巴P7架构师纯手工打造MyBatis源码——1小时解密底层源码.txt

    `SqlSessionFactoryBuilder`是构建`SqlSessionFactory`的重要工具类,它负责读取MyBatis配置文件并解析出一个完整的`SqlSessionFactory`实例。具体而言,`SqlSessionFactoryBuilder`通过解析配置文件中的`...

Global site tag (gtag.js) - Google Analytics