Mybatis 接口编程+Spring注解版加载容器

1.加载基本配置文件

既然是基于注解的,需要先写一个自定义的注解类,同时把一个properties文件读取加载过来,不过也可以不使用properties文件直接写需要的属性值,但为了方便管理和防止出错,properties还是有存在的价值的。

先注意一下包的结构,为了方便jar直接的依赖管理,此处选择maven工程搭建。


下面的一个Conf类,加载需要的连接数据库的必要属性

database.properties设置基本的连接属性,driver、user、pwd

database_url=jdbc:mysql://127.0.0.1:3307/mydb2?useUnicode=true&characterEncoding=utf8

database_username=root

database_password=password

druid.properties设置连接池的相关属性

druid_initial_size=1

druid_min_idle=1

druid_max_active=20

druid_max_wait=60000

druid_time_between_eviction_runs_millis=60000

druid_min_evictable_idle_time_millis=300000

druid_validation_query=select 'x' from dual

druid_test_while_idle=true

druid_test_on_borrow=false

druid_test_on_return=false

druid_pool_prepared_statements=false

druid_max_pool_prepared_statement_per_connection_size=20

druid_filters=stat

log4j设置log的属性

log4j.rootLogger=INFO,stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%d][%p][%t] [%l] | %m%n

log4j.logger.com.cy.cityguide.media=DEBUG


所有的配置文件配置完毕,通过配置文件类加载进来。






注意,此处的注解的应用,通过注解我们就舍去了xml文件配置的麻烦。

同时把配置文件读取的返回结构加入spring的bean进行管理。此处注入@autowired 和@bean的对应。

同时通过@PropertySource注解来开启组件扫描,然后让扫描到的bean加入spring自动进行管理。

2.测试数据库的连接和spring

可以通过junit测试,此处就只有一个测试,直接用main来取代


注意log4j的加载模式


业务层代码,由于持久化层就定义的接口,所以dao层不需要加入spring来管理


此处用SqlSessionTemplate来获取执行持久化的接口。

注解,既然是基于mybatis接口的编程,那么dao层只有一个接口,没有实现类


注解dao层既没有加@Repository注解,也没有注入sqlSessionTemplate,就是一个简单的接口

3.mybatis.xml映射

先定义总xml映射,把对应的具体执行的xml文件加进来,同时为实体类取别名,方便后面代码的优化


TagMapper.xml的配置如下:


注意命名空间为dao层对应的接口,可以通过快捷键定位一下,防止写错,

同时sql中的id和resultType 对应接口中的方法名和返回类型,必须一致。


测试输出接口如下:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis拦截器和自定义注解MyBatis框架中的两个重要特性。下面我会分别解释它们的作用和用法。 MyBatis拦截器是一种机制,可以在执行SQL语句的过程中对其进行拦截和修改。它提供了一种方便的方式来扩展和自定义MyBatis的功能。拦截器可以在SQL语句执行前后、参数设置前后、结果集处理前后等关键点进行拦截,并对其进行修改或增强。 要实现一个MyBatis拦截器,你需要实现`Interceptor`接口,并重写其中的方法。其中最重要的方法是`intercept`,它接收一个`Invocation`对象作为参数,通过该对象你可以获取到当前执行的SQL语句、参数等信息,并可以对其进行修改。另外还有`plugin`方法和`setProperties`方法用于对拦截器进行初始化。 自定义注解是一种用于标记和配置特定功能的注解。在MyBatis中,你可以使用自定义注解来配置一些特殊的功能,比如动态SQL的条件判断、结果集映射等。通过自定义注解,你可以将一些常用的功能封装成注解,并在需要时直接使用。 要使用自定义注解,你需要先定义一个注解,并在相应的地方使用该注解。然后通过MyBatis的配置文件或者Java代码进行配置,告诉MyBatis如何处理这些注解。在MyBatis的执行过程中,它会根据注解的配置来动态生成相应的SQL语句或者进行特定的处理。 总结一下,MyBatis拦截器和自定义注解MyBatis框架中的两个重要特性。拦截器可以对SQL语句进行拦截和修改,自定义注解可以用于配置一些特殊功能。它们都提供了一种扩展和自定义MyBatis功能的方式。如果你有具体的问题或者需要更详细的示例代码,欢迎继续提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值