Spring_jdbc数据连接池(mysql实现增、删、改、查)
template数据库连接池阿里数据连接池数据库连接池连接Spring和Mysql,充当一个转换容器,临时存储原生的mysql语句操作阿里数据连接池需要安装的依赖
·
jdbc原生sql语句
数据库连接池
连接Spring和Mysql,充当一个转换容器,临时存储原生的mysql语句操作
增删改查功能设计
思路
- 创建接口及实现类
- 创建数据库层的class
- 创建外部类调用接口功能
JdbcTemplate方法
update函数
update(String sql,Object … args)
- sql语句
- 可变参数设置语句值(传递给?)
queryForObject函数
queryForObject(String sql,Class requiredType)
- sql语句
- 返回的类型class
查询表里面有多少条记录,返回是某个值
queryForObject返回查询对象
queryForObject(String sql,RowMspper rowMapper,Object… args) - sql语句
- RowMsppper接口
- 可变参数
配置数据连接池
导入需要的依赖jar包
配置数据库连接池
<!-- 数据库连接池 阿里 mysql-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/jdbctest?useUnicode=true&characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="password" />
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
</bean>
<!-- jdbc template对象注入-->
<bean id="jdbctemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 注入datasource-->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--组件扫描-->
<context:component-scan base-package="service,entity,dao">
</context:component-scan>
创建与数据库表对应的类(entity)
创建一个book类对应mysql中的bookuser表
package entity;
public class Book {
private String username,userpassword;
private int id;
public void setUsername(String username) {
this.username = username;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public String getUserpassword() {
return userpassword;
}
public int getId() {
return id;
}
}
配置接口及实现类(interface)
接口
接口定义数据库表的增、删、改、查方法
package dao;
import entity.Book;
public interface BookDao {
public void add(Book book);//添加book表数据
public void updatebook(Book book);//修改表数据
public void deletebook(Book book);//删除数据
public int selecCount();//查询数据库
}
接口实现类
实现接口的方法
package dao;
import entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class BookDaoImpl implements BookDao {
@Autowired
public JdbcTemplate jdbctemplate;
@Override
public void add(Book book) {
String sql="insert into bookuser values(?,?,?)";//原生语句 添加数据 ?为参数的传输
Object[] args={book.getUsername(),book.getUserpassword(),book.getId()};
int update=jdbctemplate.update(sql,args);//成功返回1
System.out.println(update);
}
@Override
public void updatebook(Book book) {
String sql="update bookuser set username=?,userpassword=? where id=?";//原生语句 修改数据
Object[] args={book.getUsername(),book.getUserpassword(),book.getId()};//只修改用户名使用get
int update=jdbctemplate.update(sql,args);
System.out.println(update);
}
@Override
public void deletebook(Book book) {
String sql="delete from bookuser where id=?";//原生语句 删除数据
Object[] args={book.getId()};
int update=jdbctemplate.update(sql,args);
System.out.println(update);
}
@Override
public int selecCount() {
String sql="select count(*) from bookuser";
Integer count=jdbctemplate.queryForObject(sql,Integer.class);//第二个参数为返回的类型
return count;
}
}
调用接口功能(service)
package service;
import dao.BookDao;
import entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
//自动注解把类名的首字母小写
public class BookService {
@Autowired
private BookDao bookdao;
public void addBook(Book book)
{
bookdao.add(book);//添加
}
public void updateBook(Book book)
{
bookdao.updatebook(book);//更新
}
public void deleteBook(Book book)
{
bookdao.deletebook(book);//删除
}
public void selectCount()
{
bookdao.selecCount();//返回查询的结果
}
}
main方法中实现
ApplicationContext context4=new ClassPathXmlApplicationContext("bean06.xml");
BookService jdbc=context4.getBean("bookService",BookService.class);//自动注解
System.out.println(jdbc);//已执行
Book user01=new Book();//添加的数据
user01.setUsername("yma16");
user01.setUserpassword("password");
user01.setId(666);//条件
jdbc.addBook(user01);//实现接口
System.out.println("insert成功!");
Book user02=new Book();//修改的数据
user02.setUsername("修改的用户名");
user02.setUserpassword("修改的密码");
user02.setId(666);//条件
jdbc.updateBook(user02);//实现修改的接口
System.out.println("update成功!");
//查询的数据
jdbc.selectCount();//实现查询的接口
System.out.println("查询成功!");
增、删、改、查测试成功!
查看mysql中的bookuser表已更新!
代码:我的github仓库
end
更多推荐
已为社区贡献3条内容
所有评论(0)