package com.zxh.customer.spring.dao;
import Java.util.List;
import com.zxh.customer.spring.entity.Users222;
public interface UserMapper {
// 方法名要和SQL映射文件中的id相同 包名+接口名与mapper的namespace相同
public Users222 selectUserById(Long custId);
public List<Users222> selectUsersByName(Users222 user);
public void saveUser(Users222 user);
public void updateUser(Users222 user);
public void deleteUser(Long custId);
}
package com.zxh.customer.spring.entity;
public class Users222 {
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.spring.dao.UserMapper">
<select id="selectUserById" parameterType="long" resultType="com.zxh.customer.spring.entity.Users222">
SELECT CUST_ID as "custId", CUST_NAME "custName" FROM CUST WHERE
CUST_ID = #{id}
</select>
<select id="selectUsersByName" parameterType="Users222" resultType="Users222">
SELECT CUST_ID as "custId", CUST_NAME "custName" FROM CUST WHERE
CUST_NAME like '%${custName}%'
</select>
<insert id="saveUser" parameterType="Users222">
insert into cust(cust_id,
cust_name) values(seq_cust.nextval, #{custName})
</insert>
<update id="updateUser" parameterType="Users222">
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>
package com.zxh.customer.spring.service;
import java.util.List;
import com.zxh.customer.spring.entity.Users222;
public interface IUserService {
// 方法名要和SQL映射文件中的id相同 包名+接口名与mapper的namespace相同
public Users222 selectUserById(Long custId);
public List<Users222> selectUsersByName(Users222 user);
public void saveUser(Users222 user);
public void updateUser(Users222 user);
public void deleteUser(Long custId);
}
package com.zxh.customer.spring.service;
import java.util.List;
import org.springframework.transaction.annotation.Transactional;
import com.zxh.customer.spring.dao.UserMapper;
import com.zxh.customer.spring.entity.Users222;
public class UserService implements IUserService {
private UserMapper userDao;
public Users222 selectUserById(Long custId) {
Users222 user = userDao.selectUserById(custId);
return user;
}
public List<Users222> selectUsersByName(Users222 user) {
return null;
}
public void saveUser(Users222 user) {
this.userDao.saveUser(user);
}
public void updateUser(Users222 user) {
}
public void deleteUser(Long custId) {
}
public UserMapper getUserDao() {
return userDao;
}
public void setUserDao(UserMapper userDao) {
this.userDao = userDao;
}
}
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:component-scan base-package="com.tiantian.mybatis" /> -->
<context:property-placeholder
location="classpath:springconfig/jdbc_config.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<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/spring/entity/**/*.xml" />
<property name="typeAliasesPackage" value="com.zxh.customer.spring.entity" />
<property name="configLocation" value="classpath:springconfig/Configuration.xml" />
</bean>
<!-- <bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/> -->
<!-- MapperScannerConfigurer来帮我们自动扫描和注册Mapper接口,无需像下面单独设置,防止接口类很多的情况!<bean
class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage"
value="com.zxh" /> </bean> -->
<!-- 数据映射器接口 -->
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.zxh.customer.spring.dao.UserMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<bean id="userService" class="com.zxh.customer.spring.service.UserService">
<property name="userDao" ref="userMapper" />
</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>
jdbc_config.properties
driver=oracle.jdbc.driver.OracleDriver
url=jdbc\:oracle\:thin\:@172.16.1.241\:1521\:jtcrm
package springtest;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zxh.customer.spring.entity.Users222;
import com.zxh.customer.spring.service.IUserService;
public class Test {
public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("springconfig/applicationContext.xml");
IUserService userService = (IUserService) context.getBean("userService");
// Users222 user = userService.selectUserById(604763L);
// System.out.println(user.getCustName());
Users222 user = new Users222();
user.setCustName("33333");
userService.saveUser(user);
System.out.println("成功");
}
}