public
class
JdbcTemplateDemo2
{
public
static
void
main
(String[] args) {
JdbcTemplateObject jdbcTemplateObject =
new
JdbcTemplateObject();
JdbcTemplate jdbcTemplate = jdbcTemplateObject.getJdbcTemplate();
queryForOne(jdbcTemplate);
queryForObject(jdbcTemplate);
queryForList(jdbcTemplate);
queryWithJDBC();
public
static
void
insertData
() {
JdbcTemplateObject jdbcTemplateObject =
new
JdbcTemplateObject();
JdbcTemplate jdbcTemplate = jdbcTemplateObject.getJdbcTemplate();
String sql =
"insert into user value(?,?,?)"
;
int
rows = jdbcTemplate.update(sql,
null
,
"Tom"
,
35
);
System.out.println(
"插入行数:"
+ rows);
* 查询返回某一个值:查询表中数据总数
public
static
void
queryForOne
(JdbcTemplate jdbcTemplate) {
String sql =
"select count(*) from user"
;
int
count = jdbcTemplate.queryForObject(sql, Integer.class);
System.out.println(
"数据总数:"
+ count);
* 功能:查询返回单个对象
* 步骤:新建MyRowMapper类实现RowMapper接口,重写mapRow方法,指定返回User对象
public
static
void
queryForObject
(JdbcTemplate jdbcTemplate) {
String sql =
"select * from user where name = ?"
;
User user = jdbcTemplate.queryForObject(sql,
new
MyRowMapper(),
"Tom"
);
System.out.println(user);
* 功能:查询返回对象集合
* 步骤:新建MyRowMapper类实现RowMapper接口,重写mapRow方法,指定返回User对象
public
static
void
queryForList
(JdbcTemplate jdbcTemplate) {
String sql =
"select * from user"
;
List<User> users = jdbcTemplate.query(sql,
new
MyRowMapper());
System.out.println(users);
* 使用JDBC底层实现查询
public
static
void
queryWithJDBC
() {
Connection conn =
null
;
PreparedStatement psmt =
null
;
ResultSet rs =
null
;
String jdbcUrl =
"jdbc:mysql://192.168.184.130:3306/gxrdb"
;
try
{
Class.forName(
"com.mysql.jdbc.Driver"
);
conn = DriverManager.getConnection(jdbcUrl,
"root"
,
"root"
);
String sql =
"select * from user where name = ?"
;
psmt = conn.prepareStatement(sql);
psmt.setString(
1
,
"Tom"
);
rs = psmt.executeQuery();
while
(rs.next()) {
String name = rs.getString(
"name"
);
String age = rs.getString(
"age"
);
System.out.println(name);
System.out.println(age);
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
try
{
rs.close();
psmt.close();
conn.close();
}
catch
(SQLException e) {
e.printStackTrace();
MyRowMapper.java
package helloworld.jdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
* 实现RowMapper接口,返回User对象
public class MyRowMapper implements RowMapper<User>{
@Override
public User mapRow(ResultSet resultSet, int i) throws SQLException {
String name = resultSet.getString("name");
String age = resultSet.getString("age");
User user = new User();
user.setName(name);
user.setAge(age);
return user;
JdbcTemplateObject.java
package helloworld.jdbcTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
* 功能:设置数据库信息和数据源
* JdbcTemplat使用
* 1、导入jar包;2、设置数据库信息;3、设置数据源;4、调用jdbcTemplate对象中的方法实现操作
public class JdbcTemplateObject {
DriverManagerDataSource dataSource;
JdbcTemplate jdbcTemplate;
public JdbcTemplateObject() {
this.dataSource = new DriverManagerDataSource();
this.dataSource.setDriverClassName("com.mysql.jdbc.Driver");
this.dataSource.setUrl("jdbc:mysql://192.168.184.130:3306/gxrdb");
this.dataSource.setUsername("root");
this.dataSource.setPassword("root");
this.jdbcTemplate = new JdbcTemplate(dataSource);
public DriverManagerDataSource getDataSource() {
return dataSource;
public void setDataSource(DriverManagerDataSource dataSource) {
this.dataSource = dataSource;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
User.java
package helloworld.jdbcTemplate;
* 数据封装类
public class User {
private String name;
private String age;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public String getAge() {
return age;
public void setAge(String age) {
this.age = age;
@Override
public String toString() {
return "User{姓名:" + name + "; 年龄:" + age + "}";
JdbcTemplateDemo2.java package helloworld.jdbcTemplate;import org.springframework.jdbc.core.JdbcTemplate;import java.sql.*;import java.util.List;/** * 功能:通过JdbcTemplate实现查询操作 * 查询结果需要自己封装...
5、查询单条数据并通过映射成实体对象
6、查询对象集合
7、将字段到实体映射抽出来单独维护通常在应用中,字段到实体的映射只需要编写一份来维护,因此前边的两例中的映射可以单独抽出来成为一个类:
然后在使用的时候创建就行了:
8、插入数据并返回生成的主键
JdbcTemplate 插入、更新、删除
在中,数据的插入、更新、删除操作都是通过来完成的。1、插入单条数据
2、批量插入
配置gradle环境,导入项目,刷新依赖
打开com.cc.code.build下的build文件,在generator方法填入必要参数,例如:
public static void generator() throws Exception {
// 得到数据源
DataSourceConfig cfg = new DataSourceConfig("com.mysql.jdbc.Driver", "jdbc:mysql://loalhost:3306/cc",
"root", "cc", DataSourceConfig.MYSQL);
因为工作需要,所以学习一下JdbcTemplate的用法。
JdbcTemplate的基本用法可以参考我之前的一篇博客 https://blog.csdn.net/cwr452829537/article/details/84562951
1、准备工作
这里我们先准备一张用户表
CREATE TABLE `t_user` (
`id` bigint(20) NOT NULL AUTO...
//根据DutyId查询用户Email
public String getEmail(int dutyId){
Connection con = ConnectionGet.getConnection();
Statement st ...
文章目录Spring JDBC Template表结构主要方法查询queryForObject 返回单个基本类型、字符串queryForObject 返回单个实体类queryForMap 返回单个Map结果集为空或多条时的解决方案queryForList 返回基本类型、字符串的Listquery 返回对象的List插入、更新、删除插入插入并返回自增的主键使用PreparedStatement,且插入的基本类型的字段为null报错批量插入更新、删除
Spring JDBC Template
CREAT
jdbcTemplate是Springframework为方便数据库的操作, 而的一个jar包, 如果要使用它,就必须安装其依赖jar包, 下面是它所依赖的jar包
spring-beans-4.1.2.RELEASE.jar
spring-core-4.1.2.RELEASE.jar
spring-jdbc-4.1.2.RELEASE.jar
spring-tx-4.1.2.RELEASE.jar
com.springsource.org.apache.commons.logging
以上是和spring
1.引入相关的jar包
druid mysql-connector srping-jdbc sprint-tx spring-orm
2.创建数据库连接池properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.user
记录一次的spark-submit报错: scheduler.ShuffleMapStage: ShuffleMapStage 0 is now unavailable on executor
IDEA中scala广播变量 asScala报错
使用Jsoup.clean消除不受信任的HTML (防止XSS攻击)