mybatis注解开发_Mybatis终极案例之注解开发

f1954db2965909eecd2ca7b9cbcf66b5.png

Mybatis终极案例之注解开发

一、注解开发实现CURD操作

1.环境搭建

参考入门案例,环境搭建主要分为如下几步:

1.配置pom.xml

<packaging>jar

2.配置SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>

之所以采用外部文件(jdbcConfig.propertities)的方式对数据连接信息进行修改,是为了之后修改时更加方便,内容如下:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=12345678

log4j的配置文件(log4j.properties)如下:

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %mn

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %mn

上述三个文件都在Resources目录下,同时注意:对于同一个dao接口映射配置文件和注解的方式只能选一种,如果采用注解的方式,该dao接口对应得resource就不能包括映射配置文件。

3.新建实体类

在src/main/java目录下,新建实体类domain.User。

public 

2.配置数据库列名和实体关系类名的映射

由于实体类属性名和数据库列名并不一致,所以不能像入门案例一样,只使用Select标签。需要使用Results标签。在src/main/java目录下,新建接口dao.IUserDao:

public 

3.测试

在test/java目录下,新建测试类UserTest:

public 

82649329355716c736b272de7d70d3db.png
查询所有用户的结果

4.更加复杂的查询

我们已经实现了最基本的查询操作,现在在IUserDao接口中,添加更多的方法,以实现更加复杂的CRUD:

/**

在测试类UserTest中添加测试:

/**

二、注解开发实现复杂关系映射

1.一对一多表查询

1.新建Account类

在src/main/java目录下的domain包下,新建实体类Account:

public 

2.添加dao接口

在src/main/java目录下的dao包下,新建接口IAccountDao:

public 

3.测试

在test/java目录下,新建测试类AccountTest:

public 

02eb3f67242244602bcee071ac27c81d.png
一对一延迟加载

2.一对多多表查询

1.在IAccountDao接口中添加根据用户id查询的方法

/**

2.在IUserDao接口中添加一对多查询的方法

/**

3.测试

在测试类UserTest中添加测试:

/**

207b8b555081db297cc4ddd63cea2f8b.png
多对多延迟加载

三、基于注解的二级缓存

1.开启二级缓存配置

1.在主配置文件SqlMapConfig.xml中添加二级缓存的支持

<setting 

2.对应的接口开启二级缓存的支持

在接口IUserDao接口名的上方添加:

@CacheNamespace

2.测试运行

在测试类UserTest中添加测试:

@Test
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值