首页 > 其他分享 >Mybatis配置

Mybatis配置

时间:2023-11-17 10:55:23浏览次数:26  
标签:parameterType stdout 配置 appender Mybatis log4j ###

Mybatis配置

常用依赖(pom.xml)

<!--添加log4j依赖-->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<!--添加mybatis依赖-->
<dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.5.4</version>
</dependency>
<!--添加mysql依赖-->
<dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>8.0.31</version>
</dependency>
<!--添加jstl依赖-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

常用配置文件

log4j配置文件 resource目录下创建(log4j.properties)

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
### direct messages to file mylog.log ###
### log4j.appender.file=org.apache.log4j.FileAppender
### log4j.appender.file.File=d:mylog.log
### log4j.appender.file.layout=org.apache.log4j.PatternLayout
### log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
### set log levels - for more verbose logging change 'debug?info?warn?error' ###
### log4j.rootLogger=debug,stdout,file
log4j.rootLogger=debug,stdout

Mybatis配置文件 resource目录下创建(mybatis-config.xml)

<?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>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

Mybatis 数据源的提取 resource目录下创建(db.properties)

db.driverName = com.mysql.cj.jdbc.Driver
db.url = jdbc:mysql://localhost:3306/qinmanage
db.username=root
db.password=127003

Mybatis核心的配置文件(mybatis-config.xml)中引入db.properties文件

<?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="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
		<!--
                ${key}使用db.properties中的内容                
                -->
                <property name="driver" value="${db.driverName}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.username}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/StudentMapper.xml"/>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

实体类对象别名的设置

<?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"/>
    <!--
        实体类对象的别名设置
        也就是在mapper.xml中使用实体类的时候,只需要书写类名不能加包名
    -->
    <typeAliases>
        <!--指定单个实体类的别名
            type:实体类   alias:别名
            <typeAlias type="com.neuedu.pojo.Student" alias="stu"/>
        -->
        <!--指定实体类的包位置,默认的名别为类名-->
        <package name="com.bboy.pojo"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--
                ${key}使用db.properties中的内容
                -->
                <property name="driver" value="${db.driverName}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.username}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/StudentMapper.xml"/>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

传入的参数类型 parameterType/parameterMap

   1. parameterType/parameterMap(使用很少)
        1.1 表示传入的参数类型(基本数据类型、引入数据类型)
        1.1.1 传入基本数据类型
            parameterType="int"/parameterType="boolean"
        1.1.2 传入引用数据类型
            parameterType="包名+类名"
                parameterType="com.bboy.pojo.Student"
            parameterType="别名"
                parameterType="Student"
        1.1.3 传入map,具体使用的时候,使用的是map的键

返回值类型 resultType/ resultMap

 2. resultType
        2.1 返回值类型
        2.2 需求:查询出来的类名必须与返回的实体类对象的属性名一直
            select name,age from student
            Student(name,age)
        2.3 思考:如果查询出来的列名与实体类的属性名不一致?

如果查询出来的列名与实体类的属性名不一致 使用resultMap进行匹配

 3. resultMap
        3.1 返回值的类型
        3.2 需求:查询出来的列名可以和实体类中的属性名不一致时,使用resultMap进行匹配
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bboy.mapper.StudentMapper">
    <!--
           resultMap:
               id: 自定义唯一标识
               type: 此映射关联的类
           id: 主键
               column: 表中查询出来的字段名
               property: 对象中的属性
           result:非主键字段
       -->
    <resultMap id="studentmap" type="Student">
        <id column="t-id" property="id"/>
        <result column="t_name" property="name"/>
        <result column="t_birth" property="birth"/>
        <result column="t_sex" property="sex"/>
    </resultMap>



<select id="listStudents" resultMap="studentmap">
    select *from student;
</select>
</mapper>

配置映射文件 resource目录下(StudentMapper.xml)尽量与mapper相匹配

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper  namespace="com.bboy.mapper.StudentMapper">
  <select id="selectBlog" resultType="Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

标签:parameterType,stdout,配置,appender,Mybatis,log4j,###
From: https://www.cnblogs.com/Qinyyds/p/17837865.html

相关文章

  • Pycharm安装之后-简单配置
    简单配置,配置完成后,使用起来一点不简单。第一步,为.py文件添加头部信息路径:File->Setting->Editor->FileandCodeTemplates->PthonScript内容:#!/usr/bin/python3#coding=utf-8#@Time:${DATE}${TIME}#@Author:作者以上内容可以根据自己喜欢,自行调整第二步,常用插件1......
  • Linux配置Maven
    Linux配置maven一.解压maven1.1先解压maven包tarzxvfapache-maven-3.5.4-bin.tar.gz-C/opt/inst1.2.重命名解压后的文件cdopt/instmvapache-maven-3.5.4maven354二.修改maven文件中的/conf/setting.xml文件2.1修改本地仓库的地址:本地仓的作用是:将......
  • Homebrew 镜像源配置(清华)
    临时设置(运行下面这行命令)exportHOMEBREW_API_DOMAIN="Indexof/homebrew-bottles/api"&&exportHOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"&&exportHOMEBREW_BREW_GIT_REMOTE="https://mirr......
  • Linux环境配置redis集群启动、停止脚本
    1、创建redisc脚本vim/etc/init.d/redisc2、编辑脚本内容#!/bin/sh#chkconfig:23458090#SimpleRedisinit.dscriptconceivedtoworkonLinuxsystems#asitdoesuseofthe/procfilesystem.REDISNODE1=7001REDISNODE2=7002REDISNODE3=7003REDISNODE4=70......
  • MySQL数据库高并发优化配置
    在Apache,PHP,mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进......
  • 计算网络之IPv6配置DHCP服务及acl
    一.DHCPv6服务DHCP即动态主机地址分配协议,在前面已经启动过IPv4的动态主机分配了,还是来介绍两种方式接口模式全局模式现在需要了解的就是DHCHv6,即基于IPv6的动态主机地址分配,它的分配是无状态模式和全状态模式接口模式指的是动态主机分配只在一个局域网段类,它只提供一个地......
  • 小米日历配置exchange服务
    邮箱和日历账户的配置都要从邮件处进行配置首先在邮件的设置中添加邮箱,在此处配置pop3、imap、smtp和exchange服务需要注意的是foxmail和qq邮箱只是pop3、imap和smtp采用的服务器相同(但端口不同,此点存疑),但是exchange服务采用的服务器并不相同(这一点是通过原有设置发现的,以前添......
  • mybatisplus关于驼峰命名法与下划线的映射
    今天遇到一个很坑的事情,我在测试之前的案例的时候我有一个字段的名字是typeId,我调试之后发现插入出现了错误。开启sql日志之后我发现mybatisplus自动把我的typeId改成type_id了。无奈之下我只能把数据库、实体类的驼峰命名法改成下划线###SQL:SELECTid,name,description,t......
  • EtherCAT转Modbus网关用Modbus Slave模拟从站配置案例
    兴达易控EtherCAT转Modbus网关可以用作Modbus从站的配置。EtherCAT转Modbus网关允许Modbus协议转换为EtherCAT,实现不同通信系统之间的互操作性。通过配置从站到网关的Modbus,您可以访问和控制Modbus设备。同时,网关还可以扩展Modbus网络的范围,使更多的设备可以连接到网络上。  ......
  • DNS服务器搭建与配置
    来源:https://cshihong.github.io/2018/10/15/DNS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA%E4%B8%8E%E9%85%8D%E7%BD%AE/DNS服务介绍DNS服务简介:DNS(DomainNameSystem–域名系统),是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便......