java框架--spring+mybatis 注解整合
Posted 周无极
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java框架--spring+mybatis 注解整合相关的知识,希望对你有一定的参考价值。
package cn.sxt.dao; import java.util.List; import org.apache.ibatis.annotations.Select; import cn.sxt.vo.User; public interface UserMapper { @Select("select * from user") public List<User> selectUser(); }
package cn.sxt.service; import java.util.List; import cn.sxt.vo.User; public interface UserService { public List<User> selectUser(); }
package cn.sxt.service.impl; import java.util.List; import cn.sxt.dao.UserMapper; import cn.sxt.service.UserService; import cn.sxt.vo.User; public class UserServiceImpl implements UserService{ private UserMapper userMapper = null; public void setUserMapper(UserMapper userMapper) { this.userMapper = userMapper; } @Override public List<User> selectUser() { System.out.println(userMapper); return userMapper.selectUser(); } }
package cn.sxt.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import cn.sxt.service.UserService; public class Test { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); UserService userService = (UserService)context.getBean("userService"); System.out.println(userService.selectUser().size()); } }
package cn.sxt.vo; public class User { private int id; private String name; private String pwd; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 配置数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/orcl"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> <!-- 声明式事务配置 开始 --> <!-- 配置事务管理器 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 配置事务通知 --> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <!-- 配置哪些方法使用什么样的事务,配置事务的传播特性 --> <tx:method name="add" propagation="REQUIRED"/> <tx:method name="insert" propagation="REQUIRED"/> <tx:method name="update" propagation="REQUIRED"/> <tx:method name="delete" propagation="REQUIRED"/> <tx:method name="remove*" propagation="REQUIRED"/> <tx:method name="get" read-only="true"/> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut expression="execution(* cn.sxt.service.impl.*.*(..))" id="pointcut"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/> </aop:config> <!-- 声明式事务配置 结束 --> <!-- 配置sqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="cn.sxt.dao.UserMapper"/> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> <bean id="userService" class="cn.sxt.service.impl.UserServiceImpl"> <property name="userMapper" ref="userMapper"/> </bean> </beans>
<?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> <typeAliases> <package name="cn.sxt.vo"/> </typeAliases> <mappers> <package name="cn.sxt.dao.UserMapper"/> </mappers> </configuration>
/* Navicat MySQL Data Transfer Source Server : test Source Server Version : 50520 Source Host : localhost:3306 Source Database : orcl Target Server Type : MYSQL Target Server Version : 50520 File Encoding : 65001 Date: 2018-01-07 12:32:39 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `name` varchar(10) DEFAULT NULL, `id` int(20) NOT NULL AUTO_INCREMENT, `pwd` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES (\'澶т緺\', \'1\', \'4444\'); INSERT INTO `user` VALUES (\'澶т緺\', \'2\', \'4444\');
打印: 9
以上是关于java框架--spring+mybatis 注解整合的主要内容,如果未能解决你的问题,请参考以下文章