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的加载模式
此处用SqlSessionTemplate来获取执行持久化的接口。
注解,既然是基于mybatis接口的编程,那么dao层只有一个接口,没有实现类
注解dao层既没有加@Repository注解,也没有注入sqlSessionTemplate,就是一个简单的接口
3.mybatis.xml映射
先定义总xml映射,把对应的具体执行的xml文件加进来,同时为实体类取别名,方便后面代码的优化
TagMapper.xml的配置如下:
注意命名空间为dao层对应的接口,可以通过快捷键定位一下,防止写错,
同时sql中的id和resultType 对应接口中的方法名和返回类型,必须一致。
测试输出接口如下: