标签:rom log4 instance 接口 aop pre print under --
【整合目标:在spring的配置文件中配置SqlSessionFactory以及让mybatis用上spring的声明式事务】
com.springsource.net.sf.cglib-2.2.0.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
commons-logging-1.1.1.jar
spring-aop-4.0.0.RELEASE.jar
spring-aspects-4.0.0.RELEASE.jar
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
spring-jdbc-4.0.0.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar
spring-web-4.0.0.RELEASE.jar
spring-webmvc-4.0.0.RELEASE.jar
<?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:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" 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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <!-- 扫描包 --> <context:component-scan base-package="com.neuedu"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <!-- 处理全局异常,可以标记在类上 --> <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice" /> </context:component-scan> <!-- 加载外部属性文件(数据库驱动) --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 配置数据库加载内容(c3p0) --> <bean id="ComboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${jdbc.user}"></property> <property name="password" value="${jdbc.password}"></property> <property name="driverClass" value="${jdbc.driver}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> </bean> <!-- 对于 mybatis 而言,使用的事务管理器是 DataSourceTransactionManager --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="ComboPooledDataSource" /> </bean> <tx:annotation-driven /> <!-- 配置SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="ComboPooledDataSource"></property> <!-- 配置mybatis配置文件的位置和名称 --> <property name="configLocation" value="classpath:mytabis-config.xml"></property> </bean> <!-- 扫描接口和sql配置文件 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.neuedu.mapper"></property> </bean> </beans>
mybatis-3.2.8.jar
<?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> <settings> <!-- 支持数据库中下划线命名的参数向项目对象中驼峰式命名的属性自动匹配 --> <setting name="mapUnderscoreToCamelCase" value="true" /> <!-- 支持懒加载 --> <setting name="lazyLoadingEnabled" value="true"/> </settings> </configuration> </settings> </configuration>
jdbc.user=root jdbc.password=123456 jdbc.url=jdbc:mysql://localhost:3306/mytabis jdbc.driver=com.mysql.jdbc.Driver
c3p0-0.9.1.2.jar
mysql-connector-java-5.1.7-bin.jar
cglib-2.2.2.jar
javassist-3.17.1-GA.jar
asm-3.3.1.jar
mybatis-spring-1.2.2.jar
jackson-all-1.9.11.jar
log4j-1.2.17.jar
共需要24个jar包!
<!-- 加载外部属性文件 --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 配置数据库加载内容(c3p0) --> <bean id="ComboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${jdbc.user}"></property> <property name="password" value="${jdbc.password}"></property> <property name="driverClass" value="${jdbc.driver}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> </bean>
<!-- 配置SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="ComboPooledDataSource"></property> <!-- 配置mybatis配置文件的位置和名称 --> <property name="configLocation" value="classpath:mytabis-config.xml"></property> </bean>
<configuration> <settings> <!-- 支持数据库中下划线命名的参数向项目对象中驼峰式命名的属性自动匹配 --> <setting name="mapUnderscoreToCamelCase" value="true" /> <!-- 支持懒加载 --> <setting name="lazyLoadingEnabled" value="true"/> </settings> </configuration> </settings> </configuration>
注意:几乎不直接调用 SqlSession 的任何方法.
需要注意的是:Spring的事务处理的是:runtimeException:而编译时异常是没有处理的,所以需要
自己单独设置RollBackFor=Exception.class
eg:FileInputStream input = new FileInputStream(new File("D:\\2323\23.txt"))
例:简单的对数据库的操作
EmployeeMapper.java:
public interface EmployeeMapper { public employee getEmployeeById(int id); }
EmployeeMapper.xml:
<select id="getEmployeeById" parameterType="Integer" resultType="com.neuedu.Bean.employee"> select id,last_name,email,gender from tbl_employee where id = #{id} </select>
测试类:
public class smTest { @Test public void test() { ApplicationContext ioc =new ClassPathXmlApplicationContext("Spring.xml"); EmployeeMapper bean = ioc.getBean(EmployeeMapper.class); employee employee = bean.getEmployeeById(10); System.out.println(employee); } }
输出结果为:
employee [id=10, lastName=hah, gender=1, email=email]
标签:rom log4 instance 接口 aop pre print under --
原文地址:http://www.cnblogs.com/Mr-zhaoz/p/7481870.html