一、准备jar包
1.mybatis.jar和mybatis-spring.jar官方下载地址:
http://code.google.com/p/mybatis/
2.spring的所有jar包
3.数据库驱动jar包
4.junit测试jar包
5.log4j日志jar包
1. 数据库连接基本信息jdbc.properties,放在src下
driverClassName=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@localhost:1521:oralsb username=scott password=tiger maxActive=255 maxIdle=20 maxWait=100
具体的一些信息,可以根据自己的数据库情况进行一定的修改。
CREATE TABLE T_USER ( ID INT PRIMARY KEY, NAME VARCHAR2(15), PASSWORD VARCHAR2(20) ); CREATE SEQUENCE T_USER_SEQ START WITH 1 INCREMENT BY 1 NOCACHE; COMMIT;
package com.springmybatis.model; public class User { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", password=" + password + "]"; } }
<?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.springmybatis.model.User"> <resultMap id="userMap" type="User"> <id column="id" property="id" /> <id column="name" property="name" /> <id column="password" property="password" /> </resultMap> <select id="getUser" parameterType="int" resultMap="userMap"> SELECT * FROM T_USER WHERE ID = #{id} </select> <insert id="addUser" parameterType="User"> INSERT INTO T_USER (ID, NAME, PASSWORD) VALUES (T_USER_SEQ.NEXTVAL, #{name, jdbcType=VARCHAR}, #{password, jdbcType=VARCHAR}) </insert> <update id="updateUser" parameterType="User"> UPDATE T_USER SET NAME = #{name, jdbcType=VARCHAR}, PASSWORD = #{password, jdbcType=VARCHAR} WHERE ID = #{id, jdbcType=INTEGER} </update> </mapper>
对于熟悉Mybatis这个orm框架的肯定知道,一般都需要一个对数据库操作的总配置文件。
<?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> <typeAliases> <typeAlias alias="User" type="com.springmybatis.model.User" /> </typeAliases> <mappers> <mapper resource="com/springmybatis/model/User.xml" /> </mappers> </configuration>
<?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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <!-- 添加扫描包 --> <context:component-scan base-package="com.springmybatis" /> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> </bean> <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${driverClassName}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- 最大连接数量 --> <property name="maxActive" value="${maxActive}" /> <!-- 最大空闲连接数量 --> <property name="maxIdle" value="${maxIdle}" /> <property name="maxWait" value="${maxWait}" /> <property name="validationQuery" value="select count(1) from Dual" /> <!-- test when get connection --> <property name="testOnBorrow" value="true" /> <!-- test when return connection to pool --> <property name="testOnReturn" value="true" /> <property name="testWhileIdle" value="true" /> </bean> <!-- 创建sqlSessionFactory,同时指定数据源 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:sqlMapConfig.xml" /> </bean> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean> </beans>
7.编写相应的DAO
package com.springmybatis.dao; import com.springmybatis.model.User; public interface IUserDAO { public boolean addUser(User user); public boolean updateUser(User user); public User getUser(int id); }
package com.springmybatis.dao; import javax.annotation.Resource; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.stereotype.Component; import com.springmybatis.model.User; @Component("userDAO") public class UserDAOImpl implements IUserDAO { private SqlSessionTemplate sqlSessionTemplate; public SqlSessionTemplate getSqlSessionTemplate() { return sqlSessionTemplate; } @Resource(name="sqlSessionTemplate") public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) { this.sqlSessionTemplate = sqlSessionTemplate; } @Override public boolean addUser(User user) { int result = sqlSessionTemplate.insert("com.springmybatis.model.User.addUser", user); return result != 0; } @Override public boolean updateUser(User user) { int result = sqlSessionTemplate.update("com.springmybatis.model.User.updateUser", user); return result != 0; } @Override public User getUser(int id) { User user = sqlSessionTemplate.selectOne("com.springmybatis.model.User.getUser", id); return user; } }
三、日志文件配置
1. 日志文件配置log4j.properties,放在src下
log4j.rootLogger=DEBUG, stdout, fileout #log4j.logger.test=info #log4j.logger.org.apache.jasper = DEBUG #log4j.logger.org.apache.catalina.startup.TldConfig = DEBUG #log4j.logger.org.apache.catalina.session.ManagerBase = DEBUG log4j.logger.com.fiscal = DEBUG log4j.logger.com.system = DEBUG log4j.logger.com.ibatis = DEBUG log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG log4j.logger.java.sql.Connection = DEBUG log4j.logger.java.sql.Statement = DEBUG log4j.logger.java.sql.PreparedStatement = DEBUG log4j.logger.java.sql.ResultSet = DEBUG log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.fileout=org.apache.log4j.RollingFileAppender log4j.appender.fileout.File=C:\\ibatis.log log4j.appender.fileout.MaxFileSize=10000KB log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %m%n log4j.appender.fileout.layout=org.apache.log4j.PatternLayout log4j.appender.fileout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %m%n
2.web.xml中添加如下配置
<!-- Log4j 配置 --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
四、测试
package com.springmybatis.test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.springmybatis.dao.IUserDAO; import com.springmybatis.dao.UserDAOImpl; import com.springmybatis.model.User; public class UserTest { @Test public void testAddUser() { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); IUserDAO userDAO = context.getBean("userDAO", UserDAOImpl.class); User user = new User(); user.setName("李四"); user.setPassword("12345"); boolean result = userDAO.addUser(user); System.out.println(result); } @Test public void testUpdateUser() { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); IUserDAO userDAO = context.getBean("userDAO", UserDAOImpl.class); User user = new User(); user.setId(1); user.setName("李四123456789"); user.setPassword("54321"); boolean result = userDAO.updateUser(user); System.out.println(result); } @Test public void testGetUser() { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); IUserDAO userDAO = context.getBean("userDAO", UserDAOImpl.class); User user = userDAO.getUser(1); System.out.println(user); } }
相关推荐
Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...
基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip 完整代码,可运行 项目描述 基于SSM实现的一个个人博客系统,适合初学SSM和个人博客制作的同学学习。有了这个源码,直接买了阿里云或腾讯服务器,就可以部署...
SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查...spring+spring mvc+mybatis+jquery 数据库文件 压缩包根目录test3\dbyyx.sql jar包文件 压缩包根目录\test3\WebContent\WEB-INF\lib
完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...
SpringMVC+Spring+Mybatis集成开发环境
校社联社团管理系统(Spring MVC+Spring+Mybatis+Redis),用来记录进度,和保存文件,完成一定阶段都上传到小组仓库中。 校社联社团管理系统(Spring MVC+Spring+Mybatis+Redis),用来记录进度,和保存文件,完成...
使用环境:MyEclipse/Eclipse + Tomcat + MySQL。 使用技术:Spring MVC + Spring + MyBatis / JSP + Servlet + JavaBean + JDBC。
使用环境:MyEclipse/Eclipse + Tomcat + MySQL。 使用技术:Spring MVC + Spring + MyBatis / JSP + Servlet + JavaBean + JDBC。
比较实用的springMvc+spring+Mybatis 实战案例
springmvc + spring + mybatis + maven整合配置文件
struts2+spring+mybatis框架,附带数据库建表,适合初学者搭建环境。
简单的一个Spring MVC+ Spring+ Mybatis的Demo搭建案例,适合刚开始学习的小伙伴
Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
Struts2+maven+spring+mybatis整合,并实现注册功能实例。
springMVC+spring+mybatis简单的人员管理系统
使用环境: MyEclipse/Eclipse + Tomcat + MySQL。...使用技术: Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。 效果:https://ymjin.blog.csdn.net/article/details/119986708
《Spring+MyBatis企业应用实战》适合有较好的Java 编程基础,JSP、Servlet、JDBC 基础,Spring 框架基础的读者,尤其适合于对Spring MVC 和MyBatis 了解不够深入,或对Spring MVC+MyBatis 整合开发不太熟悉的开发...
使用环境:MyEclipse/Eclipse + Tomcat + MySQL。...使用技术:Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。 演示地址:https://ymjin.blog.csdn.net/article/details/120991940
通过SpringMvc+Spring+Mybatis+Maven整合,学习用maven搭建框架
《spring+mybatis 企业应用实战》源码、类库全资料