package cn.com.jtcrm.common.mybatis.dao;
import Java.util.List;
import java.util.Map;
/**
*
* @author Administrator
*
* @param <T>
*/
public interface IBaseDao {
/**
* 单表插入记录
* @param obj
*/
public <T> int insert(String _mybitsId, T obj);
/**
* 更新单表
* @param obj
*/
public <T> int update(String _mybitsId, T obj);
/**
* 删除记录
* @param clz
* @param id
*/
public <T> int delete(String _mybitsId, T obj);
/**
*
* 返回查询一览表的信息
* @param <T>
* @param _mybitsId mybatis中对应业务标识
* @param _params
* @return
*/
public <T> List<T> query(String _mybitsId, Map<String, Object> _params);
/**
* 查询相关列表信息
* @param <T> 返回数据
* @param id mybatis中对应业务标识
* @param _params
* @return
*/
public <T> List<T> query(String _mybitsId, Object _params);
/**
* 查询单个数据
* @param queryString
* @param object
* @return
*/
public Object queryOne(String queryString, Object object);
}
package cn.com.jtcrm.common.mybatis.dao;
import java.sql.Connection;
import java.util.List;
import java.util.Map;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.stereotype.Repository;
@Repository
public class MbBaseDao extends SqlSessionDaoSupport implements IBaseDao {
/**
* 获取相关的数据库连接
*/
public Connection getConnection(){
return getSqlSession().getConnection();
}
@Override
public <T> int delete(String _mybitsId, T obj) {
return getSqlSession().delete(_mybitsId, obj);
}
@Override
public <T> int insert(String _mybitsId, T obj) {
return getSqlSession().insert(_mybitsId, obj);
}
@Override
public <T> int update(String _mybitsId, T obj) {
return getSqlSession().update(_mybitsId, obj);
}
@Override
public <T> List<T> query(String _mybitsId, Map<String, Object> _params) {
return getSqlSession().selectList(_mybitsId, _params);
}
@Override
public <T> List<T> query(String _mybitsId, Object _params) {
return getSqlSession().selectList(_mybitsId, _params);
}
@Override
public Object queryOne(String _mybitsId, Object object) {
return getSqlSession().selectOne(_mybitsId, object);
}
}
/**
*
*/
package cn.com.jtcrm.common.service;
import cn.com.jtcrm.common.jdbc.access.DbBaseDao;
import cn.com.jtcrm.common.mybatis.dao.MbBaseDao;
/**
* @author A-pZ ( http://www.h3.dion.ne.jp/~alpha-pz/ )
*/
public interface IBaseService {
public MbBaseDao getMbBaseDao();
public void setMbBaseDao(MbBaseDao dao);
public DbBaseDao getDbBaseDao();
public void setDbBaseDao(DbBaseDao dao);
}
package cn.com.jtcrm.common.service;
import cn.com.jtcrm.common.jdbc.access.DbBaseDao;
import cn.com.jtcrm.common.mybatis.dao.MbBaseDao;
/**
*
* @author
*
*/
public abstract class BaseServiceImpl implements IBaseService {
protected MbBaseDao mbDao;
protected DbBaseDao dbDao;
@Override
public DbBaseDao getDbBaseDao(){
return dbDao;
}
@Override
public MbBaseDao getMbBaseDao() {
return mbDao;
}
@Override
public void setDbBaseDao(DbBaseDao dao) {
this.dbDao =dao;
}
@Override
public void setMbBaseDao(MbBaseDao dao) {
this.mbDao = dao;
}
}
applicationContext.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:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jeehttp://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
default-autowire="byName"
>
<context:component-scan base-package="com" >
<context:include-filter type="regex" expression=".service.*"/>
</context:component-scan>
<context:component-scan base-package="com.jtcrm.resource.framework" use-default-filters="false">
<context:include-filter type="regex" expression="com.jtcrm.resource.framework.*"/>
</context:component-scan>
<!-- ========================= TRANSACTION DEFINITIONS ========================= -->
<!-- 开发测试数据库环境 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@172.16.1.241:1521:jtcrm</value>
</property>
<property name="username">
<value>jtorder</value>
</property>
<property name="password">
<value>jtorder</value>
</property>
</bean>
<!-- 开发测试数据库环境
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@172.16.1.242:1521:jtcrm</value>
</property>
<property name="username">
<value>jtorder</value>
</property>
<property name="password">
<value>jtorder</value>
</property>
</bean> -->
<!-- 本地测试数据库环境-242
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@172.16.1.242:1521:jtcrm</value>
</property>
<property name="username">
<value>jtorder</value>
</property>
<property name="password">
<value>jtorder</value>
</property>
</bean>
-->
<!-- 测试数据库环境
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@172.16.1.111:1521:jtcrm</value>
</property>
<property name="username">
<value>jtorder</value>
</property>
<property name="password">
<value>jtorder</value>
</property>
</bean>
-->
<!--JNDI数据源配置
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/JTORDER</value>
</property>
</bean>
-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false" />
<!-- MyBatis -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:config/mybatis/model/**/*.xml" />
</bean>
<!-- DAO定義 MyBatis -->
<bean id="mbBaseDao" class="cn.com.jtcrm.common.mybatis.dao.MbBaseDao">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<bean id="dbBaseDao" class="cn.com.jtcrm.common.jdbc.access.DbBaseDao">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>