现在的位置: 首页 > 综合 > 正文

mybatis 学习5

2018年05月21日 ⁄ 综合 ⁄ 共 6585字 ⁄ 字号 评论关闭

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("成功");
 }
 
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【上篇】
【下篇】

抱歉!评论已关闭.