springMVC+spring+Ibatis增删改查的demo
来源:互联网 发布:多益网络账号格式错误 编辑:程序博客网 时间:2024/05/20 04:12
上一篇文章写了springMVC+spring+hibernate的demo。这次我们把ORM框架换掉换成Ibatis。
需要的jar包:
demo结构:
下面看配置文件,主要有5个(beans.xml(spring的配置文件),(sqlmap-config.xml)Ibatis的配置文件,
user-config.xml(对象实体配置文件),springmvc-servlet.xml(springmvc的配置文件),web.xml文件)
beans.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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"></property><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/springmvc?useUnicode=true&characterEncoding=UTF-8"/><property name="user" value="root"/><property name="password" value="123"/><property name="initialPoolSize" value="5"></property><property name="minPoolSize" value="5"></property><property name="maxPoolSize" value="15"/><property name="checkoutTimeout" value="1000"/> </bean> <!-- 配置事务管理器 --><bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="classpath:config/sqlmap-config.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /></bean><tx:annotation-driven transaction-manager="transactionManager"/><!-- 自动扫描(自动注入) --><context:component-scan base-package="com.springmvc" /></beans>sqlmap-config.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig> <!--多个配置文件--> <sqlMap resource="com/springmvc/bean/User-config.xml"/> </sqlMapConfig>springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" 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" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"><!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --><context:component-scan base-package="com.springmvc.controller" /><!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp" /></beans>user-config.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="User"> <typeAlias alias="User" type="com.springmvc.bean.User"/> <resultMap id="UserResult" class="User"> <result property="userId" column="userId"/> <result property="userName" column="userName"/> <result property="age" column="age"/> </resultMap> <insert id="adduser" parameterClass="User"> insert user(userId,userName,age) values(#userId#,#userName#,#age#) </insert> <select id="selall" resultClass="User"> select * from user </select> <select id="selById" parameterClass="int" resultClass="User"> select * from user where userId=#userId# </select> <delete id="del" parameterClass="int"> delete from user where userId=#userId# </delete> <update id="update" parameterClass="User"> update user set userName=#userName#, age=#age# where userId=#userId# </update> </sqlMap>web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/beans.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/Springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>springmvc的控制器:
package com.springmvc.controller;import java.io.OutputStream;import java.net.URLDecoder;import java.util.List;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.springmvc.bean.User;import com.springmvc.dao.IUserDaoIbatis;/**springmvc的控制类 * * @author 董政 * */@Controller@RequestMapping("/user")public class UserController {@Resourceprivate IUserDaoIbatis userservice;/** * 更新用户操作 * @param user 用户对象 * @param req * @param rep */@RequestMapping("/update")public void update(User user,HttpServletRequest req,HttpServletResponse rep){try {rep.setContentType("text/html;charset=UTF-8");//获得输出流OutputStream printWriter=null;printWriter=rep.getOutputStream();//对字符串进行转码操作User newuser=null;//转码字符串 ,防止乱码newuser=new User(Integer.parseInt(URLDecoder.decode(user.getUserId().toString(), "utf-8")), URLDecoder.decode(user.getUserName(), "utf-8"), URLDecoder.decode(user.getAge(), "utf-8"));userservice.update(newuser);printWriter.write("su".getBytes());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 初始化界面 * @return */@RequestMapping("/index")public String toIndex(HttpServletRequest req,HttpServletResponse rep){//查找集合List<User> users=userservice.getAllUsers();//放入作用域中req.setAttribute("userlist", users);return "Index";}/** * 进入添加界面 * @return */@RequestMapping("/toadd")public String toAdd(){return "add";}/** * 初始化更新界面 * @param req * @param id * @return */@RequestMapping("/toUpdate")public String toUpdate(HttpServletRequest req,Integer id){//查找要更新的数据 User user=userservice.getUsrById(id); //放入作用域req.setAttribute("user", user);return "Userinfo";} /** * 删除操作 * @param req 请求 * @param id 删除的id * @param rep 响应 * @return */@RequestMapping("/del")public String del(HttpServletRequest req,Integer id,HttpServletResponse rep){ //删除对应的数据库数据userservice.delUser(id);//获取数据集合List<User> users=userservice.getAllUsers();//放入作用域req.setAttribute("userlist", users);return "Index"; }/** * 添加操作 * @param name 用户名 * @param age 年龄 * @param rep 响应 */@RequestMapping("/add")public void add(String name,String age,HttpServletResponse rep){try {//设置ajax的返回类型rep.setContentType("text/html;charset=UTF-8");//获得输出流OutputStream printWriter=null;//ʵ实例化输出流printWriter=rep.getOutputStream();User user=null;user = new User(null, URLDecoder.decode(name,"utf-8"), URLDecoder.decode(age,"utf-8"));userservice.addUser(user);//提示信息printWriter.write("su".getBytes());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
业务接口:
package com.springmvc.dao;import java.util.List;import com.springmvc.bean.User;public interface IUserDaoIbatis { /** * 添加用户操作 * @param user 用户 */public void addUser(User user);/** * 用户集合 * @return 集合类型 */public List<User> getAllUsers();/** * ͨ根据用户iD查询 * @param id * @return user */public User getUsrById(Integer UserId);/** * ɾ删除用户 * @param userId */public void delUser(Integer user);/** * 更新用户 * @param user */public void update(User user);}实现类:
package com.springmvc.service;import java.sql.SQLException;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.ibatis.sqlmap.client.SqlMapClient;import com.springmvc.bean.User;import com.springmvc.dao.IUserDaoIbatis;@Service@Transactionalpublic class UserIbatisDao implements IUserDaoIbatis{@Resourceprivate SqlMapClient sqlMapClient;@Overridepublic void addUser(User user) {try {sqlMapClient.insert("adduser", user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Overridepublic List<User> getAllUsers() {List<User> users=null;try {users=sqlMapClient.queryForList("selall");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return users;}@Overridepublic User getUsrById(Integer UserId) {User user=null;try {user=(User) sqlMapClient.queryForObject("selById", UserId);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return user;}@Overridepublic void delUser(Integer user) {try {sqlMapClient.delete("del", user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Overridepublic void update(User user) {try {sqlMapClient.update("update", user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}测试类:
package com.test;import java.util.List;import org.junit.BeforeClass;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.springmvc.bean.User;import com.springmvc.dao.IUserDaoIbatis;public class TestUser {private static IUserDaoIbatis userDao;@BeforeClasspublic static void setUpBeforeClass() throws Exception {ApplicationContext cxt=new ClassPathXmlApplicationContext("/config/beans.xml");userDao= (IUserDaoIbatis) cxt.getBean("userIbatisDao");}@Testpublic void test() {userDao.addUser(new User(null, "gg", "56"));} @Testpublic void update(){userDao.update(new User(1, "sss", "11"));}@Testpublic void getAll(){List<User> list=userDao.getAllUsers();System.out.println(list.size());}@Testpublic void getOne(){System.out.println(userDao.getUsrById(1).getAge());}@Testpublic void del(){userDao.delUser(3);}}
截图:
- springMVC+spring+Ibatis增删改查的demo
- Springmvc+Spring+Mybatis+Maven简单的增删改查
- spring+springmvc+myBatis+jquery+ajax+jackson的增删改查
- spring+springmvc+myBatis+jquery+ajax+json的增删改查
- springMVC+spring+hibernate增删改查实例
- ibatis增删查改的一个例子
- Ibatis的增删改查操作
- 02-iBatis的增删改查操作
- Ibatis基本的增删改查操作
- spring+springMVC+mybatis整合框架增删改查demo(包含资源下载链接)
- springMVC+Spring3+hibernate4整合实现增删改查demo
- springMVC+Spring3+hibernate4整合实现增删改查demo
- ibatis(基本增删改查)
- Ibatis 增删改查语句
- ibatis实现增删改查
- SpringMVC+Mybatis整合的增删改查
- SpringMVC+Mybatis整合的增删改查
- springMvc+AJAX+JSON的增删改查
- Linux Memory Policy
- Java -- 泛型
- Ubuntu 配置Goagent
- popupwindow 捕获不到 setTouchInterceptor
- 关于Windows Server 2008 文件夹共享权限设置问题
- springMVC+spring+Ibatis增删改查的demo
- 理解JavaScript的caller,callee,call,apply
- apache的访问控制和虚拟主机的配置
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
- ajax
- linux hotpach
- ArcGIS Runtime SDKs 10.2 for iOS & Android& OS X发布
- 改变item的颜色
- ddddd