JdbcTemplate实现CRUD操作

Posted siwuxie095

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JdbcTemplate实现CRUD操作相关的知识,希望对你有一定的参考价值。

------------------siwuxie095

   

   

   

   

   

   

   

   

   

JdbcTemplate 实现 CRUD 操作

   

   

1JdbcTemplate 是 Spring 的 JDBC 模板,对 JDBC 进行了封装

   

   

   

   

2、Spring 对不同持久化技术的支持如下:

   

ORM 持久化技术

模板类

JDBC

JdbcTemplate

Hibernate

HibernateTemplate

iBatis

SqlMapClientTemplate

MyBatis

SqlSessionTemplate

JPA

JpaTemplate

   

   

Spring 为各种持久化技术都提供了模板类,对它们进行封装

以简化编程

   

参考链接:

   

http://blog.csdn.net/u011225629/article/details/47143177

   

   

   

   

3、导入 jar 包(共 9 个包)

   

1)导入核心 jar 包和日志相关的 jar 包

   

   

   

2)导入 JdbcTemplate 的 jar 包

   

   

   

3)导入 mysql 的 JDBC 驱动包

   

   

   

mysql-connector-java 下载链接:

   

https://dev.mysql.com/downloads/connector/j/

   

   

   

   

4、具体步骤

   

1设置数据库连接信息

   

2)创建 JdbcTemplate 对象,设置数据源

   

3调用 JdbcTemplate 对象的方法实现 CRUD 操作

   

   

   

   

5、在 MySQL 中手动创建数据库和表

   

数据库名:spring_db,表名:user,字段:username、password

   

   

   

   

   

6、具体实现

   

1)添加操作

   

AddDemo.java:

   

package com.siwuxie095.jdbc;

   

import org.junit.Test;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

   

   

/**

* 添加操作

*/

public class AddDemo {

   

/**

* 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 jar 包)

*

* 选中方法名,右键->Run As->JUint Test

*/

@Test

public void add() {

 

// 设置数据库连接信息

DriverManagerDataSource dataSource=new DriverManagerDataSource();

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

// 或使用 jdbc:mysql:///spring_db 代替,省略 localhost:3306

dataSource.setUrl("jdbc:mysql://localhost:3306/spring_db");

dataSource.setUsername("root");

dataSource.setPassword("8888");

 

 

// 创建 JdbcTemplate 对象,设置数据源

JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);

 

 

// 使用 jdbcTemplate 的方法实现添加操作

//

// 创建 sql 语句

String sql="insert into user values(?,?)";

 

// 调用 update() 方法实现添加,返回值是 int 型,

// 创建以接收,表示在数据库中影响的行数

int row=jdbcTemplate.update(sql, "小明","1234");

System.out.println(row);

}

 

}

   

   

   

2)修改操作

   

UpdateDemo.java:

   

package com.siwuxie095.jdbc;

   

import org.junit.Test;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

   

   

/**

* 修改操作

*/

public class UpdateDemo {

   

@Test

public void update() {

 

// 设置数据库连接信息

DriverManagerDataSource dataSource=new DriverManagerDataSource();

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

// 或使用 jdbc:mysql:///spring_db 代替,省略 localhost:3306

dataSource.setUrl("jdbc:mysql://localhost:3306/spring_db");

dataSource.setUsername("root");

dataSource.setPassword("8888");

 

 

// 创建 JdbcTemplate 对象,设置数据源

JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);

 

 

// 使用 jdbcTemplate 的方法实现修改操作

//

// 创建 sql 语句

String sql="update user set password=? where username=?";

 

// 调用 update() 方法实现修改,返回值是 int 型,

// 创建以接收,表示在数据库中影响的行数

int row=jdbcTemplate.update(sql, "1314","小明");

System.out.println(row);

}

 

}

   

   

   

3)删除操作

   

DeleteDemo.java:

   

package com.siwuxie095.jdbc;

   

import org.junit.Test;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

   

   

/**

* 删除操作

*/

public class DeleteDemo {

   

@Test

public void delete() {

 

// 设置数据库连接信息

DriverManagerDataSource dataSource=new DriverManagerDataSource();

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

// 或使用 jdbc:mysql:///spring_db 代替,省略 localhost:3306

dataSource.setUrl("jdbc:mysql://localhost:3306/spring_db");

dataSource.setUsername("root");

dataSource.setPassword("8888");

 

 

// 创建 JdbcTemplate 对象,设置数据源

JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);

 

 

// 使用 jdbcTemplate 的方法实现删除操作

//

// 创建 sql 语句

String sql="delete from user where username=?";

 

// 调用 update() 方法实现删除,返回值是 int 型,

// 创建以接收,表示在数据库中影响的行数

int row=jdbcTemplate.update(sql, "小明");

System.out.println(row);

}

 

}

   

   

   

4)查询操作

   

QueryDemo.java:

   

package com.siwuxie095.jdbc;

   

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.List;

   

import org.junit.Test;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.RowMapper;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

   

   

   

/**

* 查询操作

*

* JdbcTemplate 通过接口 RowMapper 实现查询,但

* JdbcTemplate 没有提供该接口的实现类,所以,要

* 得到不同类型的数据,需要自己进行封装

*

* 查询操作分为三类:

*

* (1) 查询,返回一个值

* (2) 查询,返回一个对象

* (3) 查询,返回一个 List 集合

*

*/

public class QueryDemo {

   

/**

* (1) 查询,返回一个值

*/

@Test

public void queryValue() {

 

// 设置数据库连接信息

DriverManagerDataSource dataSource=new DriverManagerDataSource();

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

// 或使用 jdbc:mysql:///spring_db 代替,省略 localhost:3306

dataSource.setUrl("jdbc:mysql://localhost:3306/spring_db");

dataSource.setUsername("root");

dataSource.setPassword("8888");

 

 

// 创建 JdbcTemplate 对象,设置数据源

JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);

 

 

// 使用 jdbcTemplate 的方法得到记录数

//

// 创建 sql 语句

String sql="select count(*) from user";

 

// 调用 queryForObject() 方法,传入 sql 语句和返回类型的 class

int count=jdbcTemplate.queryForObject(sql, Integer.class);

System.out.println(count);

}

 

 

/**

* (2) 查询,返回一个对象

*/

@Test

public void queryObject() {

 

// 设置数据库连接信息

DriverManagerDataSource dataSource=new DriverManagerDataSource();

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

// 或使用 jdbc:mysql:///spring_db 代替,省略阶段3 2.Spring_09.JdbcTemplate的基本使用_4 JdbcTemplate的CRUD操作

JDBC Template

9. 使用JdbcTemplate

JdbcTemplate的CRUD操作

Spring框架针对dao层的jdbcTemplate操作crud之delete删除数据库操作 Spring相关Jar包下载

Spring框架针对dao层的jdbcTemplate操作 包括crud

(c)2006-2024 SYSTEM All Rights Reserved IT常识