package com.zxh.customer.springtemp.dao;
import com.zxh.customer.springtemp.entity.Users333;
public interface IUserDao {
public Users333 selectUserById(Long custId);
public void saveUser(Users333 user);
}
package com.zxh.customer.springtemp.dao;
import javax.annotation.Resource;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import com.zxh.customer.springtemp.entity.Users333;
public class UserDaoImpl extends SqlSessionDaoSupport implements IUserDao {
// private SqlSession sqlSession;
public Users333 selectUserById(Long custId) {
Users333 user = this.getSqlSession().selectOne(
"com.zxh.customer.springtemp.selectUserById", custId);
return user;
}
public void saveUser(Users333 user) {
this.getSqlSession().insert("com.zxh.customer.springtemp.saveUser", user);
}
// public SqlSession getSqlSession() {
// return sqlSession;
// }
//
// public void setSqlSession(SqlSession sqlSession) {
// this.sqlSession = sqlSession;
// }
}
package com.zxh.customer.springtemp.entity;
public class Users333 {
private Long custId;
private String custName;
public Long getCustId() {
return custId;
}
public void setCustId(Long custId) {
this.custId = custId;
}
public String getCustName() {
return custName;
}
public void setCustName(String custName) {
this.custName = custName;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zxh.customer.springtemp">
<select id="selectUserById" parameterType="long" resultType="Users333">
SELECT CUST_ID as "custId", CUST_NAME "custName" FROM CUST WHERE
CUST_ID = #{id}
</select>
<select id="selectUsersByName" parameterType="Users333" resultType="Users333">
SELECT CUST_ID as "custId", CUST_NAME "custName" FROM CUST WHERE
CUST_NAME like '%${custName}%'
</select>
<insert id="saveUser" parameterType="Users333">
insert into cust(cust_id,
cust_name) values(seq_cust.nextval, #{custName})
</insert>
<update id="updateUser" parameterType="Users333">
update cust set cust_name = #{custName} where cust_id = #{custId}
</update>
<delete id="deleteUser" parameterType="int">
delete from cust where
cust_id = #{custId}
</delete>
</mapper>
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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
<!-- <context:annotation-config/>
<context:component-scan base-package="com.tiantian.mybatis" /> -->
<context:property-placeholder
location="classpath:springtempconfig/jdbc_config.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@172.16.1.241:1521:jtcrm" />
<property name="username" value="jtorder" />
<property name="password" value="jtorder" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- dataSource属性指定要用到的数据源 -->
<property name="dataSource" ref="dataSource" /> <!--configLocation属性指定mybatis的核心配置文件 -->
<property name="mapperLocations"
value="classpath*:com/zxh/customer/springtemp/entity/**/*.xml" />
<property name="typeAliasesPackage" value="com.zxh.customer.springtemp.entity" />
<property name="configLocation" value="classpath:springtempconfig/Configuration.xml" />
<!-- 如果用CMT javaEE容器管理事务 管理事务时下面必须配置 -->
<!-- <property name="transactionFactory" value="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" /> -->
</bean>
<!-- 如果配置了如下事务 将由spring来管理事务 -->
<!-- <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"> <ref bean="dataSource" /> </property> </bean>
<tx:annotation-driven transaction-manager="transactionManager"/> -->
<!-- 如果用CMT javaEE容器管理事务 管理事务时下面必须配置 -->
<!-- <tx:jta-transaction-manager /> -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
<!-- <constructor-arg index="1" value="BATCH" /> 如果想要进行批量操作可加入这个属性 -->
</bean>
<!-- 使用SqlSessionTemplate -->
<!-- <bean id="userDao" class="com.zxh.customer.springtemp.dao.UserDaoImpl">
<property name="sqlSession" ref="sqlSession" /> </bean> -->
<!-- 使用SqlSessionDaoSupport 需要dao继承 extends SqlSessionDaoSupport -->
<bean id="userDao" class="com.zxh.customer.springtemp.dao.UserDaoImpl">
<!--注入SqlSessionTemplate实例 -->
<property name="sqlSessionTemplate" ref="sqlSession" />
<!--也可直接注入SqlSessionFactory实例,二者都指定时,SqlSessionFactory失效 -->
<!-- <property name="sqlSessionFactory" ref="sqlSessionFactory" /> -->
</bean>
</beans>
Configuration.xml
<?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>
<!-- 设置mybatis3 运行时的行为方式 -->
<settings>
<!-- 设置超时时间,它决定驱动等待一个数据库响应的时间 -->
<setting name="defaultStatementTimeout" value="60000" />
<!-- 启用或禁用 缓存 -->
<setting name="cacheEnabled" value="false" />
<!-- 启用或禁用延迟加载。当禁用时, 所有关联对象都会即时加载 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 等等 -->
</settings>
</configuration>
package springtemptest;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zxh.customer.springtemp.dao.IUserDao;
import com.zxh.customer.springtemp.entity.Users333;
public class Test {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("springtempconfig/applicationContext.xml");
IUserDao userDao = (IUserDao) context.getBean("userDao");
Users333 user = userDao.selectUserById(604763L);
System.out.println(user.getCustName());
// Users333 user = new Users333();
// user.setCustName("加快递费");
//
// userDao.saveUser(user);
System.out.println("成功");
}
}