Mybaits配置文件

1.mybatis-config.xml

(mybatis核心配置文件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>

    <!--指定properties文件的位置,从类路径根开始找文件-->
    <properties resource="db.properties" />

    <!--settings:控制mybatis全局行为-->
    <settings>
        <!--设置mybatis输出日志(默认)-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
          <!--设置mybatis输出日志为log4j-->
        <setting name="logImpl" value="LOG4J"/>
    </settings>
       <!--定义别名-->
    <typeAliases>
        <!--
            第一种方式:
            可以指定一个类型一个自定义别名
            type:自定义类型的全限定名称
            alias:别名(短小,容易记忆的)
        -->
        <!--<typeAlias type="com.mlzheng.domain.Student" alias="stu" />
        <typeAlias type="com.mlzheng.vo.ViewStudent" alias="vstu" />-->

        <!--
          第二种方式
          <package> name是包名, 这个包中的所有类,类名就是别名(类名不区分大小写)
        -->
        <package name="com.mlzheng.domain"/>
        <package name="com.mlzheng.vo"/>
    </typeAliases>

	
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment>
	</environments>
    <!-- sql mapper(sql映射文件)的位置-->
	<mappers>
		<!-- <mapper resource="com/bjpowernode/mybatis/dao/StudentDao.xml" /> -->
		<package name="com.mlzheng.mybatis.dao"/>
	</mappers>
</configuration>

2.db.properties(mysql5.7)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/数据库名
#jdbc.url=jdbc:mysql://localhost:3306/数据库名?serverTimezone=GMT%2B8&useSSL=false
jdbc.username=root
jdbc.password=123456

3.MySQL8.0+的jdbc.properties的配置,以及相关解释

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=root

首先mysql JDBC URL格式如下:
jdbc:mysql://[host:port],[host:port]…/[database] ? [参数名1][=参数值1][&参数名2][=参数值2]…

相比于前版本,增加使用了:

useSSL=false&serverTimezone=UTC

关于userSSL=false : 原因5.5.45+, 5.6.26+ , 5.7.6+版本的MySQL如果未设置显式选项,则必须默认建立SSL连接,为了符合不使用SSL的现有应用程序,您可以将verifyServerCertificate属性设置为false,您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并提供用于服务器证书验证的信任库;

关于serverTimezone=UTC : 在设定时区的时候,如果设定serverTimezone=UTC,是全球标准时间,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong,例如:serverTimezone=Asia/Shanghai;

关于useUnicode=true:代表使用Unicode字符集,允许用户自己设定数据库编码

关于characterEncoding=utf-8: 在插入数据时,如果数据的编码类型与数据库的编码类型不一致时,如程序中使用GBK,而数据库的数据类型为utf8,会出现插入数据的字节的类型无法识别的问题。为了解决此问题,我们需要在URL上设置characterEncoding=utf-8。

上一篇:jdbc连接MysQL数据库时报错:The server time zone value ‘ ‘ is unrecognized or represents more than


下一篇:mysql 连接错误The server time zone value '?????????±?????????±???¤' is