第一次连接遇到的3大问题:
1、字符编码问题
https://blog.csdn.net/weixin_43601094/article/details/105678034
2、时区问题:
使用MySQL默认时区会出错,需要对MySQL时区进行修改。使用SET TIME_ZONR = '+8:00'命令只是修改了变量,重启MySQL后变量会恢复。只能通过修改my.ini文件来修改默认时区,在mysqld下加入default-time-zone = '+8:00'.修改后重启服务,编译器不再报错。
3、执行过程
写3个配置文件
IMmpDao.xml
<?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="test">
<!--parameterType输入到SQL中的映射类型-->
<insert id="insert" parameterType="com.ambow.pojo.Emp">
INSERT INTO emp (empno , ename , job)
VALUES (#{empno} , #{ename} ,#{job})
</insert>
</mapper>
此配置文件类似标签,可在具体方法中使用text.insert来插入数据,执行时,会在com.ambow.pojo.Emp的对象中查找empno,ename,job三个变量的值,插入的是一个具体对象。具体方法中的语句
int i = sqlSession.insert("test.insert",new Emp(2109 , "真有才" , "人力"));
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>
<!-- 和spring整合后 environments配置将废除-->
<environments default = "development">
<environment id="development">
<!--使用JDBC事物管理-->
<transactionManager type="JDBC"></transactionManager>
<!--数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/TEST?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="classpath/sqlmap/IEmpDao.xml"/>
</mappers>
</configuration>
配置数据源
log4j.properties
#Mybatis默认使用Log4j作为输出日志信息
#Global logging configuration
Log4j.rootLogger = DEBUG, stdout
#Console output...
Log4j.appender.stdout = org.apache.log4j.ConsoleAppender
#指日志定布局格式,PatternLayout可以灵活布局
Log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#日志格式
Log4j.appender.stdout.layout.ConversionPattern = %5p [%t] - %m%n
控制台输出日志的格式