提交 03aaedcd 编写于 作者: Q qinyingjie

fix:插入数据

上级 9de1b393
package com.kwan.spring5;
import org.springframework.stereotype.Component;
/**
* 用户
*
......@@ -9,8 +7,9 @@ import org.springframework.stereotype.Component;
* @version : 2.2.0
* @date : 2022/11/12 19:22
*/
@Component(value = "user")
public class User {
public User() {
}
/**
* 普通方法
......
......@@ -2,6 +2,24 @@ package com.kwan.spring5.dao;
import com.kwan.spring5.Book;
import java.util.List;
public interface BookDao {
void add(Book book);
void updateBook(Book book);
void delete(String id);
int selectCount();
Book findBookInfo(String id);
List<Book> findAllBook();
void batchAddBook(List<Object[]> batchArgs);
void batchUpdateBook(List<Object[]> batchArgs);
}
......@@ -3,9 +3,20 @@ package com.kwan.spring5.dao.impl;
import com.kwan.spring5.Book;
import com.kwan.spring5.dao.BookDao;
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;
/**
* book-dao实现类
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/15 22:33
*/
@Repository
public class BookDaoImpl implements BookDao {
/**
......@@ -28,4 +39,94 @@ public class BookDaoImpl implements BookDao {
int update = jdbcTemplate.update(sql, args);
System.out.println(update);
}
/**
* 修改
*
* @param book
*/
@Override
public void updateBook(Book book) {
String sql = "UPDATE t_book SET username=?,ustatus=? WHERE user_id=?";
Object[] args = {book.getUsername(), book.getUstatus(), book.getUserId()};
int update = jdbcTemplate.update(sql, args);
System.out.println(update);
}
/**
* 删除
*
* @param id
*/
@Override
public void delete(String id) {
String sql = "DELETE FROM t_book WHERE user_id=?";
int update = jdbcTemplate.update(sql, id);
System.out.println(update);
}
/**
* 查询表记录数
*
* @return
*/
@Override
public int selectCount() {
String sql = "SELECT COUNT(*) FROM t_book";
//queryForObject方法中:第一个参数代表--sql语句;第二个参数代表--返回类型class
return jdbcTemplate.queryForObject(sql, Integer.class);
}
/**
* 查询返回对象
*
* @param id
* @return
*/
@Override
public Book findBookInfo(String id) {
String sql = "SELECT * FROM t_book WHERE user_id=?";
/*
* queryForObject方法中:
* 第一个参数:sql语句
* 第二个参数:RowMapper 是接口,针对返回不同类型数据,使用这个接口里面 实现类 完成数据封装
* 第三个参数:sql 语句值
*/
return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(Book.class), id);
}
/**
* 所用场景:查询图书列表分页
* 查询返回集合
*
* @return
*/
@Override
public List<Book> findAllBook() {
String sql = "SELECT * FROM t_book";
//调用方法
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Book.class));
}
/**
* 批量添加
*/
@Override
public void batchAddBook(List<Object[]> batchArgs) {
String sql = "INSERT INTO t_book VALUES(?,?,?)";
//batchUpdate方法 第一个参数:sql语句 第二个参数:List集合,添加多条记录数据
int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
System.out.println(Arrays.toString(ints));
}
/**
* 批量修改(同批量添加一样,调用同一个方法)
*/
@Override
public void batchUpdateBook(List<Object[]> batchArgs) {
String sql = "UPDATE t_book SET username=?,ustatus=? WHERE user_id=?";
int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
System.out.println(Arrays.toString(ints));
}
}
\ No newline at end of file
<?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:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 开启注解扫描 -->
<context:component-scan base-package="com.kwan"></context:component-scan>
<!-- 开启Aspect生成代理对象-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>
\ No newline at end of file
import com.kwan.spring5.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* jdk动态代理
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
public class Spring_23_ {
@Test
public void test1() {
ApplicationContext ctx =
new ClassPathXmlApplicationContext("spring23.xml");
User user = ctx.getBean("user",User.class);
user.add();
System.out.println(user);
}
}
......@@ -15,7 +15,7 @@ public class Spring_24_ {
@Test
public void test1() {
ApplicationContext ctx =
new ClassPathXmlApplicationContext("spring23.xml");
new ClassPathXmlApplicationContext("spring24.xml");
User user = (User) ctx.getBean("user");
user.add();
System.out.println(user);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册