spring+springMVC+mybatis整合框架增删改查demo(包含资源下载链接)

源代码下载链接(测试可用)

一、运行环境

MyEclipse+Tomcat+MySQL

二、项目包结构


三、entity实体包

<span style="font-size:14px;">package com.tccp.entity;

/**
 * 用户
 * @author tccp项目组
 *
 */
public class User {

	private int user_id;
	private String username;
	private String age;
	
	public User(){
		super();
	}
	
	public User(int user_id, String username, String age) {
		super();
		this.user_id = user_id;
		this.username = username;
		this.age = age;
	}

	public int getUser_id() {
		return user_id;
	}

	public void setUser_id(int user_id) {
		this.user_id = user_id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "User [user_id=" + user_id + ", username=" + username + 
				", age=" + age + "]";
	}
		
}</span><span style="font-size: 18px;">
</span>
三、persistence持久层

接口类:

<span style="font-size:14px;">package com.tccp.persistence;

import java.util.List;
import com.tccp.entity.User;

public interface UserMapper {
	//增删改查
	void add(User user);
	boolean update(User user);
	boolean delete(int user_id);
	User findById(int user_id);
	List<User> findAll();
	
}
</span>
xml配置文件:

<span style="font-size:14px;"><?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">
<!-- 
	namespace:必须与对应的接口全类名一致
	id:必须与对应接口的某个对应的方法名一致
	
 -->
<mapper namespace="com.tccp.persistence.UserMapper">

	<!-- mybsits_config中配置的alias类别名,也可直接配置resultType为类路径 -->
	<insert id="add" parameterType="User">
		insert into user(username, age) values(#{username},#{age})
	</insert>
	
	<update id="update" parameterType="User">
		update user set username=#{username},age=#{age} where user_id=#{user_id}
	</update>
	
	<delete id="delete" parameterType="int">
		delete from user where user_id=#{user_id}
	</delete>
	  
	<select id="findById" parameterType="int" resultType="User">
		select user_id user_id,username username,age age from user where user_id=#{user_id}
	</select>
	
	<select id="findAll" resultType="User">
		select user_id user_id,username username,age age from user
	</select>
</mapper></span>
四、数据库操作测试test

spring测试:

<span style="font-size:14px;">package com.tccp.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {

	 public static void main(String[] args) {
		 ApplicationContext ctx = new ClassPathXmlApplicationContext("config/spring-common.xml");
		 Object userMapper = ctx.getBean("userMapper");
		 System.out.println(userMapper);
	 }
}</span><span style="font-size: 18px;">
</span>
数据库操作测试:

<span style="font-size:14px;">package com.tccp.test;


import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.tccp.persistence.UserMapper;
import com.tccp.entity.User;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/config/spring-common.xml")
public class UserTest {

	@Autowired
	private UserMapper userMapper;
	
	@Test
	public void testAdd(){
		User user = new User(4, "王五", "33");
		userMapper.add(user);
		
	}
	
	@Test
	public void testFindAll(){
		List<User> findAllList = userMapper.findAll();
		System.out.println(findAllList.size());
	}
	
	@Test
	public void testFindById(){
		User user = userMapper.findById(2);
		System.out.println(user.getUser_id());
		System.out.println(user.getUsername());
	}


	@Test
	public void testUpdate(){
		
		User user = new User(5, "钱6", "24");
		userMapper.update(user);
	}
	
	@Test
	public void testDelete(){
		userMapper.delete(4);
	}
}
</span>
(配置文件与业务逻辑层代码略)

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这里是一个基于SpringMVCMyBatis、Layui的商品增删改查的示例代码,你可以参考一下: ### 1. 创建商品实体类 ```java public class Product { private Integer id; private String name; private Double price; // getter和setter方法省略 } ``` ### 2. 创建商品DAO接口 ```java public interface ProductDao { List<Product> findAll(); Product findById(Integer id); void save(Product product); void update(Product product); void deleteById(Integer id); } ``` ### 3. 创建商品DAO实现类 ```java @Repository public class ProductDaoImpl implements ProductDao { @Autowired private SqlSession sqlSession; @Override public List<Product> findAll() { return sqlSession.selectList("findAll"); } @Override public Product findById(Integer id) { return sqlSession.selectOne("findById", id); } @Override public void save(Product product) { sqlSession.insert("save", product); } @Override public void update(Product product) { sqlSession.update("update", product); } @Override public void deleteById(Integer id) { sqlSession.delete("deleteById", id); } } ``` ### 4. 创建商品控制器 ```java @Controller @RequestMapping("/product") public class ProductController { @Autowired private ProductDao productDao; @GetMapping("/list") public String list(Model model) { List<Product> productList = productDao.findAll(); model.addAttribute("productList", productList); return "product/list"; } @GetMapping("/add") public String add() { return "product/add"; } @PostMapping("/save") public String save(Product product) { productDao.save(product); return "redirect:/product/list"; } @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, Model model) { Product product = productDao.findById(id); model.addAttribute("product", product); return "product/edit"; } @PostMapping("/update") public String update(Product product) { productDao.update(product); return "redirect:/product/list"; } @GetMapping("/delete/{id}") public String delete(@PathVariable("id") Integer id) { productDao.deleteById(id); return "redirect:/product/list"; } } ``` ### 5. 创建商品列表页面 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>商品列表</title> <link rel="stylesheet" href="/layui/css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <table class="layui-table"> <thead> <tr> <th>ID</th> <th>名称</th> <th>价格</th> <th>操作</th> </tr> </thead> <tbody> <#list productList as product> <tr> <td>${product.id}</td> <td>${product.name}</td> <td>${product.price}</td> <td> <a href="/product/edit/${product.id}" class="layui-btn layui-btn-sm layui-btn-normal">编辑</a> <a href="/product/delete/${product.id}" class="layui-btn layui-btn-sm layui-btn-danger">删除</a> </td> </tr> </#list> </tbody> </table> <a href="/product/add" class="layui-btn layui-btn-sm layui-btn-normal">添加商品</a> </div> </div> </div> <script src="/layui/layui.js"></script> </body> </html> ``` ### 6. 创建添加商品页面 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>添加商品</title> <link rel="stylesheet" href="/layui/css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <form class="layui-form" action="/product/save" method="post"> <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div class="layui-input-block"> <input type="text" name="name" lay-verify="required" autocomplete="off" placeholder="请输入名称" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">价格</label> <div class="layui-input-block"> <input type="text" name="price" lay-verify="required" autocomplete="off" placeholder="请输入价格" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button> <a href="/product/list" class="layui-btn layui-btn-primary">返回</a> </div> </div> </form> </div> </div> </div> <script src="/layui/layui.js"></script> </body> </html> ``` ### 7. 创建编辑商品页面 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>编辑商品</title> <link rel="stylesheet" href="/layui/css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <form class="layui-form" action="/product/update" method="post"> <input type="hidden" name="id" value="${product.id}"> <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div class="layui-input-block"> <input type="text" name="name" lay-verify="required" autocomplete="off" placeholder="请输入名称" class="layui-input" value="${product.name}"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">价格</label> <div class="layui-input-block"> <input type="text" name="price" lay-verify="required" autocomplete="off" placeholder="请输入价格" class="layui-input" value="${product.price}"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button> <a href="/product/list" class="layui-btn layui-btn-primary">返回</a> </div> </div> </form> </div> </div> </div> <script src="/layui/layui.js"></script> </body> </html> ``` ### 8. 配置SpringMVCMyBatisSpringMVC中,需要配置视图解析器、静态资源访问、文件上传等。这里只提供一个简单的配置示例: ```xml <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 静态资源访问 --> <mvc:resources mapping="/layui/**" location="/layui/" /> <!-- 文件上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8" /> <property name="maxUploadSize" value="10485760" /> </bean> <!-- MyBatis --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="typeAliasesPackage" value="com.example.model" /> <property name="mapperLocations" value="classpath*:com/example/dao/*.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.dao" /> </bean> ``` ### 9. 启动应用程序 在浏览器中输入http://localhost:8080/product/list访问商品列表页面,即可进行商品的增删改查操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值