配置之属性优化(外部配置)+别名+设置+映射器

 

 一般两个环境,正式库,测试库  ,使用id来切换不同的环境

 

事务管理器

在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]"):

  • JDBC(默认) – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。
  • MANAGED – 这个配置几乎没做什么。

数据源(dataSource)

(连接数据库  dbcp  c3p0 druid )

dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。

  • 大多数 MyBatis 应用程序会按示例中的例子来配置数据源。虽然数据源配置是可选的,但如果要启用延迟加载特性,就必须配置数据源。

三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]"):

UNPOOLED:  没有池

POOLED(默认):

这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间

这种处理方式很流行,能使并发 Web 应用快速响应请求。

 

3.属性(properties)

 

可以通过properties属性来实现引用配置文件 (db.properties文件)

1.编写一个配置文件(若与内部文件<property />有同一个字段,则优先使用外部文件)

带时区的url

jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
复制代码
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=my7shig69l>A
View Code
复制代码

2.在核心配置文件中引入properties 需要按照顺序写到前面

复制代码
    <properties resource="db.properties">
        <property name="uesrname02" value="root"/>
        <property name="password" value="my7shig69l>A"/>
    </properties>

     <property name="uesrname02" value="root"/>
    是内部设定的值(与外部文件name重合的话,外部文件的优先级更高)
View Code
复制代码

可以使用${name}来获取值

复制代码
 <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
</dataSource>


之前的

  <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="my7shig69l>A"/>
            </dataSource>
View Code
复制代码

 

4.类型别名(设置短的名字)

方法一: 通过(原名---新名)来修改  [实体类比较少时使用,可以DIY]

<typeAliases>
        <typeAlias type="com.ljm.pojo.User" alias="User"/>
    </typeAliases>

方法二:通过扫描包,自动得到的简化名字(与类名字母相同)   [实体类比较多使用]

 <typeAliases>
        <package name="com.ljm.pojo"/>
    </typeAliases>

方法三:通过注解来取名字(优先级最高)

@Alias("helloUser")
public class User {

 

5设置(了解)

 

 

 6.其他配置

typeHandlers(类型处理器)

objectFactory(对象工厂)

plugins(插件)

***mybatis-generator-core(帮助自动生成mybatis代码的,根据数据库的名字,增删改查)

***mybatis-plus (关于mybatis的第三方插件,为提高效率而生)

 

7.映射器(mapper)

我们需要告诉 MyBatis 到哪里去找到这些语句

方式一:使用资源路径 (可放在任何地方)    <*推荐>

  <mappers>
        <mapper resource="com/ljm/dao/UserMapper.xml"/>
        <mapper resource="com/ljm/dao/*.xml"/>   匹配这个包下面所有的xml文件
    </mappers>

方式二:使用class文件绑定注册

*****接口和他的mapper配置文件必须同名

*****接口和他的mapper配置文件必须放在同一个包下

测试与@Alias重命名冲突

 <mappers>
        <mapper class="com.ljm.dao.UserMapper"/>
    </mappers>

方式三:通过包扫描进行注入绑定

*****接口和他的mapper配置文件必须同名

*****接口和他的mapper配置文件必须放在同一个包下

  <mappers>
       <package name="com.ljm.dao"/>
    </mappers>

 

posted @   磕伴  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示