mybatis+spring 方式一
来源:互联网 发布:淘宝一件代发挣钱吗 编辑:程序博客网 时间:2024/06/05 15:22
具体步骤:
1.代码结构
具体代码片段:
service层:
UserService.java
package com.yyc.ssm.service;import java.util.List;import com.yyc.ssm.entity.User;public interface UserService { List<User> getUserList(int offset, int limit); public List<User> getAllUser(); void insertName(User user);}
UserServiceImpl.java
package com.yyc.ssm.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.yyc.ssm.dao.UserDao;import com.yyc.ssm.entity.User;import com.yyc.ssm.service.UserService;@Servicepublic class UserServiceImpl implements UserService{ @Autowired private UserDao userDao; @Override public List<User> getUserList(int offset, int limit) { return userDao.selectByPrimaryKey(1000L); } public List<User> getAllUser(){ return userDao.getAllUser(); } @Override public void insertName(User user) { userDao.insertName(user); }}
Dao层:
UserDao .java
package com.yyc.ssm.dao;import java.util.List;import org.apache.ibatis.annotations.Param;import org.mybatis.spring.annotation.MapperScan;import com.yyc.ssm.entity.User;public interface UserDao { /** * 根据偏移量查询用户列表 */ List<User> selectByPrimaryKey(@Param("userId") long id); List<User> getAllUser(); void insertName(User user);}
UserDaoImpl.java
package com.yyc.ssm.dao.impl;import java.util.List;import javax.annotation.Resource;import org.mybatis.spring.SqlSessionTemplate;import org.springframework.stereotype.Repository;import com.yyc.ssm.dao.UserDao;import com.yyc.ssm.entity.User;@Repositorypublic class UserDaoImpl implements UserDao { // mapper.xml的命名(namespace) String ns = "com.yyc.ssm.dao.UserDao"; @Resource private SqlSessionTemplate sqlSessionTemplate; @Override public List<User> selectByPrimaryKey(long id) { return sqlSessionTemplate.selectList(ns+".selectByPrimaryKey",id); } @Override public List<User> getAllUser() { return sqlSessionTemplate.selectList(ns+".queryAll"); } @Override public void insertName(User user) { sqlSessionTemplate.insert(ns+".insert", user); }}
spring-mybatis.xml
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 引入配置文件 --> <!--1、配置数据库相关参数--> <context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/> <!--2.数据源druid --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="${druid.pool.size.init}" /> <property name="minIdle" value="${druid.pool.size.min}" /> <property name="maxActive" value="${druid.pool.size.max}" /> <!-- 配置监控统计拦截的filters,wall用于防止sql注入,stat用于统计分析 --> <property name="filters" value="wall,stat" /> </bean> <!-- mybatis的配置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mapping.xml文件,**表示迭代查找,也可在sqlMapConfig.xml中单独指定xml文件--> <property name="mapperLocations" value="classpath:mapper/*.xml" /> </bean> <!-- mybatis spring sqlSessionTemplate,使用时直接让spring注入即可 --> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg> </bean> <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean></beans>
这种配置主要利用了org.mybatis.spring.SqlSessionTemplate。
在网上找的对sqlSessionTemplate的解释。
SqlSessionFactoryBuilder:build方法创建SqlSessionFactory实例。
SqlSessionFactory:创建SqlSession实例的工厂。
SqlSession:用于执行持久化操作的对象,类似于jdbc中的Connection。
SqlSessionTemplate:MyBatis提供的持久层访问模板化的工具,线程安全,可通过构造参数或依赖注入SqlSessionFactory实例。
阅读全文
0 0
- mybatis+spring 方式一
- mybatis与spring整合(方式一)
- spring和mybatis整合方式一
- Spring整合Mybatis(一)
- MyBatis-Spring(一)
- Mybatis Ibatis Spring整合方式
- Spring Mybatis的分库分表方式
- spring+mybatis事件提交方式
- Spring整合Mybatis(MapperScannerConfigurer方式)
- Spring整合mybatis方式二
- Spring Mybatis的分库分表方式
- springboot整合mybatis方式一
- spring,springmvc,mybatis基本整合(一)--xml文件配置方式(1)
- spring,springmvc,mybatis基本整合(一)--xml文件配置方式(2)
- spring,springmvc,mybatis基本整合(一)--xml文件配置方式(1)
- struts2+spring+mybatis入门一
- spring-mybatis整合一MapperFactoryBean
- spring mvc+mybatis笔记(一)
- 框架之Struts2简单入门
- java导出Excel 总结
- hibernate 关联关系 详解
- 六种获取配置properties文件的方法
- Linux 安装mysql后修改密码策略
- mybatis+spring 方式一
- GSON 报错HibernateProxy. Forgot to register a type adapter? 的解决办法
- Oracle12c DataGuard 物理备库的简单配置
- 【caffe】windows下vs2013+opencv3.2.0+opencv_contrib(包含dnn)+cmake3.8编译与配置
- structs2----数据封装以及拦截器
- 逃离迷宫
- structs2---OGNL表达式
- spring入门
- spring----IOC注解方式以及AOP