mybatis 整合 spring3
来源:互联网 发布:水果超市软件 编辑:程序博客网 时间:2024/05/13 06:51
因为阴差阳错的原因 Spring3 没有提供对mybatis的整合支持,要整合Spring3和mybatis可以使用下面的方法。
准备:
1、先去mybatis上下载
2、Spring3相关的jar包。
3、apache的DataSource包。
开始:
1、配置spring.xml,其实也没有什么特别的,就是配置SessionFactory的时候使用了mybatis的实现。另外在sessionFactory中配置下mapper信息,有多种配置方式,这里图简便,使用configLocation配置Mapper文件,指定以前mybatis的配置文件就行。其它配置方法可以参考官方文档。
srping.xml
------------------------------
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName"><value>oracle.jdbc.driver.OracleDriver</value></property><property name="url"><value>jdbc:oracle:thin:@127.0.0.1:1521:XE</value></property><property name="username"><value>hr</value></property><property name="password"><value>hr</value></property></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="configLocation" value="mybatis-config.xml" /></bean><bean id="EmployeeDao" class="com.hr.employee.EmployeeDao"><property name="sqlSessionFactory" ref="sqlSessionFactory"></property></bean></beans>
2、编写mybatis的Mapper文件
EmployeeMapper.xml
------------------------------
<?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.hr.employee.Employee"><resultMap type="com.hr.employee.EmployeeData" id="EmployeeData"><result column="EMPLOYEE_ID" property="employeeId" /><result column="FIRST_NAME" property="firstName" /><result column="LAST_NAME" property="lastName" /><result column="EMAIL" property="email" /><result column="PHONE_NUMBER" property="phoneNumber" /><result column="HIRE_DATE" property="hireDate" /></resultMap><select id="select" parameterType="com.hr.employee.EmployeeData" resultMap="EmployeeData">select EMPLOYEES.EMPLOYEE_ID, EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, EMPLOYEES.EMAIL, EMPLOYEES.PHONE_NUMBER, EMPLOYEES.HIRE_DATEfrom EMPLOYEESwhere EMPLOYEES.FIRST_NAME like #{firstName}</select></mapper>
3、Dao要继承mybatis的SqlSessionDaoSupport
EmployeeDao.java
------------------------------
package com.hr.employee;import java.util.List;import org.mybatis.spring.support.SqlSessionDaoSupport;/** * @author jCodeBuilder */public class EmployeeDao extends SqlSessionDaoSupport { public List<EmployeeData> select(EmployeeData cond) { return getSqlSession().selectList("com.hr.employee.Employee.select", cond); }}
4、数据实体
EmployeeData.java
------------------------------
package com.hr.employee;/** * @author jCodeBuilder */public class EmployeeData { public String employeeId = null; public String firstName = null; public String lastName = null; public String email = null; public String phoneNumber = null; public String hireDate = null; public String getEmployeeId() { return employeeId; } public void setEmployeeId(String val) { employeeId = val; } public String getFirstName() { return firstName; } public void setFirstName(String val) { firstName = val; } public String getLastName() { return lastName; } public void setLastName(String val) { lastName = val; } public String getEmail() { return email; } public void setEmail(String val) { email = val; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String val) { phoneNumber = val; } public String getHireDate() { return hireDate; } public void setHireDate(String val) { hireDate = val; } public String toString() { String s = ""; s += "employeeId=" + employeeId; s += ", firstName=" + firstName; s += ", lastName=" + lastName; s += ", email=" + email; s += ", phoneNumber=" + phoneNumber; s += ", hireDate=" + hireDate; return s; } public void clear() { employeeId = null; firstName = null; lastName = null; email = null; phoneNumber = null; hireDate = null; } protected void finalize() { clear(); }}
5、执行
Execute.java
------------------------------
package com.test;import java.util.List;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.hr.employee.EmployeeDao;import com.hr.employee.EmployeeData;public class Execute { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); EmployeeDao dao = (EmployeeDao) context.getBean("EmployeeDao"); EmployeeData cond = new EmployeeData(); cond.setFirstName("%%"); List<EmployeeData> result = dao.select(cond); for (EmployeeData data : result) { System.out.println(data); } }}
更多详细内容请参考官方文档:
http://mybatis.github.io/spring/zh/index.html
- 整合Mybatis 与 Spring3
- mybatis整合spring3.1
- mybatis 整合 spring3
- mybatis与spring3.1整合
- mybatis与spring3.1整合
- mybatis与spring3.1整合
- mybatis与spring3.1整合
- mybatis与spring3.1整合
- mybatis与spring3.1整合
- struts2+spring3+mybatis整合案例
- mybatis与spring3.1整合
- 自学Spring3+SpringMVC+Mybatis整合
- Spring3+mybatis+mysql整合实例
- mybatis与spring3.1整合----
- mybatis与spring3.1整合
- Spring3.1 和 MyBatis 整合笔记
- Struts2 Spring3 Mybatis 3 整合 相关配置文件
- mybatis+spring3+mysql整合的webservice
- 时间的思考---《把时间当作朋友》读后感
- 【IDE-Visual Studio】编译出错(chenlu-1):无法解析
- 对象在堆上,栈上,还是函数里面的局部变量
- 安装wamp5时,若wamp5总显示黄色,一般情况是由于。。。
- Servlet 3.0 vs 2.5
- mybatis 整合 spring3
- C# office 控件编程 由于word中排版造成word复制【含书签】容易遇到的问题 .docx
- 解决VMWare中, RedHat 5 中文问题
- interceptor和action使用同一个result的解决办法
- linux下 mysql命令
- 安装WAS 报错遇到错误 CTGIN9048E
- Count the string + KMP
- 一个学习GitHub的资料
- 黑马程序员_java基础之一