博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring3+Mybatis3+Mysql+ivy+liquibase
阅读量:6369 次
发布时间:2019-06-23

本文共 7119 字,大约阅读时间需要 23 分钟。

Spring3+Mybatis3+Mysql+ivy+liquibase 集成

近一周时间所学技术:整合

Spring+MyBatis+MySql+ivy+liquibase

Mybatis:是一个基于Java的持久层框架。提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。

Apache Ivy™ 是Apache Ant 下的一个子项目。Apache Ivy是一个优秀的管理(记录、跟踪、解析和报告)项目依赖的工具,提供了强大的依赖管理功能,可与Apache Ant紧密集成.

工具:Eclipse 已安装ivyDe插件

1、新建Web工程,添加ivy.xml文件支持,主要添加所需jar包,类似maven的配置文件

ivy.xml:

 

引入jar包。

 

 

 

2、添加liquibase配置文件

新建包com.lgp.test_changelog并添加数据库重构配置文件xml
master.xml table.xml view.xml data.xml

master.xml:

 

table.xml

 

view.xml:

 

data.xml:

 

在spring配置文件中添加配置集成liquibase

3、添加mybatis支持文件

添加com.lgp.test.pojo.UserInfo.java

package com.lgp.test.pojo;public class UserInfo {private String userId;private String userHome;private String userAddress;public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getUserHome() {return userHome;}public void setUserHome(String userHome) {this.userHome = userHome;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {this.userAddress = userAddress;}}

 

添加数据库Mapper文件com/lgp/test/mapper/mybatis-config.xml

 

添加接口文件 com.lgp.test.dao.UserInfoDao.java

package com.lgp.test.dao;import java.util.List;import com.lgp.test.pojo.UserInfo;public interface UserInfoDao {public int insert(UserInfo user);public int update(UserInfo user);public int delete(String userId);public List
selectAll();public int countAll();public UserInfo find(String userId);}(实现接口)com/lgp/test/dao/UserMapper.xml
insert into user_info(userid,userHome,useraddress) values(#{userId},#{userHome},#{userAddress})
update user_info set userhome=#{userHome},useraddress=#{userAddress} where userid=#{userId}
delete from user_info where userid=#{userId}

 

 

4、添加Spring支持配置文件:

添加web.xml文件

contextConfigLocation
classpath:beans.xml
org.springframework.web.context.ContextLoaderListener
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp

 

添加beans.xml和数据库配置文件db_config.pro..s 到src目录下

dbconfig.pro...

# Database connectiondatabase.driver=com.mysql.jdbc.Driverdatabase.url=jdbc:mysql://127.0.0.1:3306/testdatabase.user=rootdatabase.password=123456# Database#database.driver=org.h2.Driver#database.url=jdbc:h2:${database.h2.basedir}\\test#database.user=sa#database.password=

 

beans.xml

classpath:dbconfig.properties

 

添加测试类 Servlet

package com.lgp.test.controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.lgp.test.dao.UserInfoDao;import com.lgp.test.pojo.UserInfo;@WebServlet("/testUser")public class UserInfoServlet extends HttpServlet {private static final long serialVersionUID = 1L;static ApplicationContext ctx=null;public UserInfoServlet() {super();ctx=new ClassPathXmlApplicationContext("beans.xml");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String action = request.getParameter("action");UserInfoDao userInfoDao = (UserInfoDao)ctx.getBean("userInfoDao");if ("find".equals(action)) {System.out.println("信息记录数:"+userInfoDao.countAll());UserInfo user = userInfoDao.find(request.getParameter("userId"));System.out.println("用户信息:"+user.getUserId()+"=="+user.getUserHome()+"=="+user.getUserAddress());}if ("insert".equals(action)) {System.out.println("信息记录数:"+userInfoDao.countAll());UserInfo user = new UserInfo();user.setUserId(request.getParameter("userId"));user.setUserHome(request.getParameter("userHome"));user.setUserAddress(request.getParameter("userAddress"));userInfoDao.insert(user);System.out.println("添加一条数据成功==信息记录数:"+userInfoDao.countAll());System.out.println("修改后用户信息:"+user.getUserId()+"=="+user.getUserHome()+"=="+user.getUserAddress());}if ("update".equals(action)) {System.out.println("信息记录数:"+userInfoDao.countAll());UserInfo user = new UserInfo();user.setUserId(request.getParameter("userId"));user.setUserHome(request.getParameter("userHome"));user.setUserAddress(request.getParameter("userAddress"));userInfoDao.update(user);System.out.println("修改一条数据成功==信息记录数:"+userInfoDao.countAll()+"====");    }if ("delete".equals(action)) {System.out.println("信息记录数:"+userInfoDao.countAll());userInfoDao.delete(request.getParameter("userId"));System.out.println("删除一条数据成功==信息记录数:"+userInfoDao.countAll()+"====");    }}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

 

=======配置完成=====

添加测试页面测试:
index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Insert title herefind
insert
delete
update

 

find.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Insert title here

 

save.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Insert title here

 

update.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Insert title here

 

delete.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Insert title here

 

===============================部署测试(添加资源库部署)======

 

转载于:https://www.cnblogs.com/liangblog/p/4635592.html

你可能感兴趣的文章
Laravel优秀扩展包整理
查看>>
日志分析之识别真假蜘蛛与处理办法
查看>>
太多脚本将会毁掉持续交付
查看>>
一地鸡毛 OR 绝地反击,2019年区块链发展指南
查看>>
卢森堡大学发布RepuCoin系统,可破解区块链51%攻击
查看>>
国内云计算厂商众生相:四大阵营十几家企业生存盘点
查看>>
细说Unicode(一) Unicode初认识
查看>>
Node.js有了新的管理者
查看>>
Java 20年:历史与未来
查看>>
彻底理解Javascript中的原型链与继承
查看>>
腾讯最大规模裁撤中层干部,让贤年轻人
查看>>
gRPC-Web发布,REST又要被干掉了?
查看>>
如何:强化 TCP/IP 堆栈安全
查看>>
Spring3 MVC中使用Swagger生成API文档
查看>>
FastCGI PHP on Windows Server 2003
查看>>
LimeSDR Getting Started Quickly | LimeSDR上手指南
查看>>
JSP标签JSTL的使用(1)--表达式操作
查看>>
SAP顾问的人脉比技术更为重要
查看>>
FI/CO PA考试试卷
查看>>
汽车介质应用非常严苛?没关系,新技术带来的高精度传感器十分适应!
查看>>