整合mybatis3.2.2跟spring3.0.1

 2023-09-05 阅读 29 评论 0

摘要:NND不停的报错,哥不停的导各种java ,配置文件改的眼花,NND,java程序员看来也挺崩溃的! <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmln

NND不停的报错,哥不停的导各种java ,配置文件改的眼花,NND,java程序员看来也挺崩溃的!

<?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"xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 使用apache的DBCP连接池  --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><!-- Connection Info --><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://192.168.1.95:3307/myt" /><property name="username" value="root" /><property name="password" value="ok" /><!-- Connection Pooling DBCP --><property name="initialSize" value="5" /><property name="maxActive" value="100" /><property name="maxIdle" value="30" /><property name="maxWait" value="1000" /><property name="poolPreparedStatements" value="true" /><property name="defaultAutoCommit" value="false" /></bean><!-- 这里的dataSource要与sqlSessionFactory的dataSource一致,否则事务无效 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="configLocation" value="classpath:xx/spring/conf-mybatis.xml"></property></bean><!-- 注意!这里不要偷懒!。要把userMapper赋给别的.class文件里的一个属性后再使用,否则事务无效。也就是说当直接创建userMapper的一个class,然后使用IUserDao.insertUser方法的话也可以实现,但是事务将无效。 --><!-- 这里的mapperInterface需要接口类型 --><!-- <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean"><property name="mapperInterface" value="xx.spring.UserDao" /><property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean>-->      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="xx.spring" />
</bean>
<context:component-scan base-package="xx.spring"></context:component-scan>
<!-- 使用注解方式的事务 -->
<tx:annotation-driven transaction-manager="transactionManager" /></beans>
View Code
<?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><!-- 配置mybatis的缓存,延迟加载等等一系列属性 --><settings><!-- 全局映射器启用缓存 --><setting name="cacheEnabled" value="true" /><!-- 查询时,关闭关联对象即时加载以提高性能 --><setting name="lazyLoadingEnabled" value="true" /><!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指 定),不会加载关联表的所有字段,以提高性能 --><setting name="aggressiveLazyLoading" value="false" /><!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 --><setting name="multipleResultSetsEnabled" value="true" /><!-- 允许使用列标签代替列名 --><setting name="useColumnLabel" value="true" /><!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖 --><!-- <setting name="useGeneratedKeys" value="true" /> --><!-- 给予被嵌套的resultMap以字段-属性的映射支持 --><setting name="autoMappingBehavior" value="FULL" /><!-- 对于批量更新操作缓存SQL以提高性能 --><setting name="defaultExecutorType" value="BATCH" /><!-- 数据库超过25000秒仍未响应则超时 --><setting name="defaultStatementTimeout" value="25000" /></settings><!-- 全局别名设置,在映射文件中只需写别名,而不必写出整个类路径 --><!-- <typeAliases><typeAlias alias="TestBean"type="com.wotao.taotao.persist.test.dataobject.TestBean" /></typeAliases> --><!-- 非注解的sql映射文件配置,如果使用mybatis注解,该mapper无需配置,但是如果mybatis注解中包含@resultMap注解,则mapper必须配置,给resultMap注解使用 --><!--  <mappers><mapper resource="com/mybatis/mapper/UserMapper.xml" /></mappers>-->
</configuration>
View Code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper     
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"     
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">     <!-- namespace用于java代码调用时识别指定xml的mapper文件 -->
<mapper namespace="xx.spring.UserDao"><select id="getUserById" parameterType="long" useCache="false" flushCache="true" resultType="xx.mybatis.UserInfo">SELECT * FROM mytt where id=#{id}</select></mapper>  
View Code
package xx.spring;import javax.annotation.Resource;import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;import xx.mybatis.UserInfo;@Transactional
@Component 
public class UserService {@Resourceprivate UserDao userDao;public UserInfo GetUserById(long id) {System.out.println("GetUserById be Invoke!");return userDao.getUserById(id);}
}
View Code
package xx.spring;import xx.mybatis.UserInfo;public abstract interface UserDao {public abstract UserInfo getUserById(long id);
}
View Code
package xx.spring;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import xx.mybatis.UserInfo;public class SpringTest {/*** @param args*/public static void main(String[] args) {ApplicationContext context=new ClassPathXmlApplicationContext("xx/spring/bb.xml");for(int i=1;i<30;i++){UserService userService= (UserService) context.getBean("userService");UserInfo u= userService.GetUserById(i);System.out.println(userService.hashCode());}}}
View Code

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/2039.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息