Mybatis+mysql8.0的入门简单实例

MyBatis初认识

作用:封装了JDBC操作,简化数据库访问代码。
封装的功能:
1.获取连接,执行SQL,释放连接
2.SQL参数设置(可以直接传入对象,Mybtis会将对象的属性传入SQL语句)#{属性值}取代JDBC的?占位符
3.执行结果映射成实体对象。JDBC中需要开发者自己转换。
实体类的属性名与查询结果集ResultSet的列名保持一致,结果集有别名的话以别名为属性名。
开发者工作:写SQL语句和实体类,然后使用SqlSession对象执行SQL操

基本配置(config与src为个人使用习惯,可不做区分)

1.congif资源包下:logg4j.properpties(用于控制台输出);sqlmapconfig.xml(指定数据库连接的参数);map->xxmap.xml(具体数据库语言定义操作)

   src资源包下:xx.damain->xxx.java(实体类的基本定义);xx.dao->xxxmap.java(操作函数的java语言声明);

    jar包:

 源代码和释义

sqlmapconfig.xml(标记部分为MySQL8.0的改动使用部分)

<?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">
<!-- 使用 jdbc 事务管理 -->
<transactionManager type="JDBC" />
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/users?useSSL=false&amp;serverTimezone=UTC" />   
<property name="username" value="root" />
<property name="password" value="731003" />
</dataSource>
</environment>
</environments>
<!-- 查找 sql 映射文件 -->
<mappers>
<mapper resource="Mapper/LifeMAPPER.xml"/>
</mappers>
</configuration>

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c\:mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=debug, stdout

xxx.map.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="com.test.dao.LifeMapper">  
<insert id="addLife" parameterType="com.test.domain.Life">
INSERT INTO life
(
lifeName,              注:namespace必须准确接接口位置,id为接口类下的函数名,parameterType为实体位置
lifeBody,
lifeTime
)
VALUES
(
#{lifeName},
#{lifeBody},
#{lifeTime}
)
</insert>
</mapper>

实体与接口为基本定义不做描述

 

 

作用:封装了JDBC操作,简化数据库访问代码。
封装的功能:
1.获取连接,执行SQL,释放连接
2.SQL参数设置(可以直接传入对象,Mybtis会将对象的属性传入SQL语句)#{属性值}取代JDBC的?占位符
3.执行结果映射成实体对象。JDBC中需要开发者自己转换。
实体类的属性名与查询结果集ResultSet的列名保持一致,结果集有别名的话以别名为属性名。
开发者工作:写SQL语句和实体类,然后使用SqlSession对象执行SQL操

基本配置(config与src为个人使用习惯,可不做区分)

1.congif资源包下:logg4j.properpties(用于控制台输出);sqlmapconfig.xml(指定数据库连接的参数);map->xxmap.xml(具体数据库语言定义操作)

   src资源包下:xx.damain->xxx.java(实体类的基本定义);xx.dao->xxxmap.java(操作函数的java语言声明);

    jar包:

 源代码和释义

sqlmapconfig.xml(标记部分为MySQL8.0的改动使用部分)

<?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">
<!-- 使用 jdbc 事务管理 -->
<transactionManager type="JDBC" />
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/users?useSSL=false&amp;serverTimezone=UTC" />   
<property name="username" value="root" />
<property name="password" value="731003" />
</dataSource>
</environment>
</environments>
<!-- 查找 sql 映射文件 -->
<mappers>
<mapper resource="Mapper/LifeMAPPER.xml"/>
</mappers>
</configuration>

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c\:mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=debug, stdout

xxx.map.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="com.test.dao.LifeMapper">  
<insert id="addLife" parameterType="com.test.domain.Life">
INSERT INTO life
(
lifeName,              注:namespace必须准确接接口位置,id为接口类下的函数名,parameterType为实体位置
lifeBody,
lifeTime
)
VALUES
(
#{lifeName},
#{lifeBody},
#{lifeTime}
)
</insert>
</mapper>

实体与接口为基本定义不做描述

 

猜你喜欢

转载自www.cnblogs.com/moonlightduandian/p/12357620.html