赞
踩
1.0-SNAPSHOT
org.apache.maven.plugins
maven-compiler-plugin
77
jar
org.springframework
spring-context
5.2.6.RELEASE
org.springframework
spring-jdbc
5.2.7.RELEASE
org.springframework
spring-tx
5.2.7.RELEASE
mysql
mysql-connector-java
5.1.46
com.alibaba
druid
1.1.10
org.aspectj
aspectjweaver
1.8.9
junit
junit
4.12
compile
maven项目的代码结构:
在 spring 配置文件配置数据库连接池,配置 JdbcTemplate 对象,注入 DataSource。配置时用的是引用外部配置文件,所以还需要引入外部的属性文件,同时创建对象时是基于注解的所以还要开启组件扫描。
bean1.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:p=“http://www.springframework.org/schema/p”
xmlns:util=“http://www.springframework.org/schema/util”
xmlns:context=“http://www.springframework.org/schema/context”
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package=“com.Keafmd”></context:component-scan>
<context:property-placeholder location=“classpath:jdbc.properties”/>
jdbc.properties:
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/user_db?characterEncoding=utf8&useUnicode=true&useSSL=false
jdbc.username=root
jdbc.password=root
============================================================================
相关的操作及注释都在代码中,请看代码。
User类:
package com.Keafmd.spring5.entity;
/**
Keafmd
@ClassName: User
@Description: 数据库对应user实体类
@author: 牛哄哄的柯南
@date: 2021-01-19 10:07
*/
public class User {
private String userId;
private String username;
private String ustatus;
public User() {
}
public User(String userId, String username, String ustatus) {
this.userId = userId;
this.username = username;
this.ustatus = ustatus;
}
public void setUserId(String userId) {
this.userId = userId;
}
public void setUsername(String username) {
this.username = username;
}
public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
public String getUserId() {
return userId;
}
public String getUsername() {
return username;
}
public String getUstatus() {
return ustatus;
}
@Override
public String toString() {
return “User{” +
“userId='” + userId + ‘’’ +
“, username='” + username + ‘’’ +
“, ustatus='” + ustatus + ‘’’ +
‘}’;
}
}
在UserDaoImpl类注入jdbcTemplate。
UserDao接口:
package com.Keafmd.spring5.dao;
import com.Keafmd.spring5.entity.User;
import java.util.List;
/**
Keafmd
@ClassName: UserDao
@Description:
@author: 牛哄哄的柯南
@date: 2021-01-19 9:56
*/
public interface UserDao {
//添加方法
void add(User user);
//修改方法
void updateUser(User user);
//删除方法
void delete(String id);
//查询记录数
int selectCount();
//查询返回对象
User findUserInfo(String id);
//查询集合
List findAllUser();
//批量添加
void batchAddUser(List<Object[]> batchArgs);
//批量修改
void batchUpdateUser(List<Object[]> batchArgs);
//批量删除
void batchDeleteUser(List<Object[]> batchArgs);
}
UserDaoImpl类:
package com.Keafmd.spring5.dao;
import com.Keafmd.spring5.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.Arrays;
import java.util.List;
/**
Keafmd
@ClassName: UserDaoImpl
@Description: UserDao实现类
@author: 牛哄哄的柯南
@date: 2021-01-19 9:56
*/
@Repository
public class UserDaoImpl implements UserDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//添加的方法
@Override
public void add(User user) {
//创建sql语句
String sql=" INSERT INTO t_user (user_id, username, ustatus) VALUES (?, ?, ?) ";
// 调用方法实行
int updat = jdbcTemplate.update(sql,user.getUserId(),user.getUsername(),user.getUstatus());
// 返回成功的条数
System.out.println(updat);
}
//修改
@Override
public void updateUser(User user) {
String sql = “UPDATE user_db.t_user SET username = ?, ustatus = ? WHERE user_id = ?”;
Object[] args = {user.getUsername(),user.getUstatus(),user.getUserId()};
int updat = jdbcTemplate.update(sql,args);
System.out.println(updat);
}
//删除
@Override
public void delete(String id) {
String sql =“DELETE FROM user_db.t_user WHERE user_id = ?”;
int updat = jdbcTemplate.update(sql,id);
System.out.println(updat);
}
//查询记录数
@Override
public int selectCount() {
String sql =“SELECT COUNT(*) FROM t_user”;
Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
return count;
}
//返回对象
@Override
public User findUserInfo(String id) {
String sql =“SELECT * FROM t_user where user_id = ?”;
User user = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper(User.class),id);
return user;
}
//返回集合对象
@Override
public List findAllUser() {
String sql = “select * from t_user”;
List userList =jdbcTemplate.query(sql,new BeanPropertyRowMapper(User.class));
return userList;
}
//批量添加
@Override
public void batchAddUser(List<Object[]> batchArgs) {
String sql=" INSERT INTO t_user (user_id, username, ustatus) VALUES (?, ?, ?) ";
int []ints = jdbcTemplate.batchUpdate(sql,batchArgs);
System.out.println(Arrays.toString(ints));
}
//批量修改
@Override
public void batchUpdateUser(List<Object[]> batchArgs) {
String sql = “UPDATE user_db.t_user SET username = ?, ustatus = ? WHERE user_id = ?”;
int []ints = jdbcTemplate.batchUpdate(sql,batchArgs);
System.out.println(Arrays.toString(ints));
}
//批量删除
@Override
public void batchDeleteUser(List<Object[]> batchArgs) {
String sql =“DELETE FROM user_db.t_user WHERE user_id = ?”;
int []ints = jdbcTemplate.batchUpdate(sql,batchArgs);
System.out.println(Arrays.toString(ints));
}
}
UserService类:
package com.Keafmd.spring5.service;
import com.Keafmd.spring5.dao.UserDao;
import com.Keafmd.spring5.dao.UserDaoImpl;
import com.Keafmd.spring5.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
Keafmd
@ClassName: BookService
@Description:
@author: 牛哄哄的柯南
@date: 2021-01-19 9:55
*/
@Service
public class UserService {
//注入dao
@Autowired
private UserDao userDao;
//添加的方法
public void addUser(User user){
userDao.add(user);
}
//修改的方法
public void updateUser(User user){
userDao.updateUser(user);
}
//删除的方法
public void deleteUser(String id){
userDao.delete(id);
}
//查询表中的记录数
public int findCount(){
return userDao.selectCount();
}
//查询返回对象
public User findOne(String id){
return userDao.findUserInfo(id);
}
//查询返回集合
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。
我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。
不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
(img-uu7Qrac3-1712812813398)]
[外链图片转存中…(img-tliSjghJ-1712812813399)]
[外链图片转存中…(img-2Er427Uf-1712812813399)]
[外链图片转存中…(img-ll2Vtjjf-1712812813400)]
[外链图片转存中…(img-s22lJBzS-1712812813400)]
[外链图片转存中…(img-jZtswDJs-1712812813400)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-MpZRnzvC-1712812813400)]
很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。
我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。
不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-4sA3aAXA-1712812813401)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。