Spring JPA 用法总结

本文通过具体的代码示例展示了如何使用 Spring 框架中的 JDBC 支持进行常见的数据库操作,包括创建表、更新记录、计数查询、字符串选择、对象选择、列表选择及行选择等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话不多说,直接发送源码:

Repository 

package test.dao;

import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.JdbcTemplate;

import test.bean.User;
import test.mapper.UserRowMapper;

public class UserRepositoryImpl extends JdbcDaoSupport {

	// create table
	public void createTable() {
		String sql = "create table test(name varchar(50), id bigint(20) NOT NULL AUTO_INCREMENT)";
		getJdbcTemplate().execute(sql);
	}

	// update insert delete
	public void update() {
		String sql = "update user set name = ? where id = ?";
		String name = "张胜鸿";
		int id = 100;
		getJdbcTemplate().update(sql, new Object[] { name, id });
	}

	// count(*)
	public void count() {
		String sql = "select count(1) from user";
		int count =getJdbcTemplate().queryForInt(sql);
		System.out.println(count);
	}

	// select String
	public void selectByString() {
		String sql = "select name from user where id = ?";
		int id = 100;
		String name = getJdbcTemplate().queryForObject(sql,
				new Object[] { id }, java.lang.String.class);
		System.out.println(name);
	}

	// select object
	public void selectByObject() {
		String sql = "select * from user where id = ?";
		int id = 100;
		User user = getJdbcTemplate().queryForObject(sql, new Object[] { id },
				new UserRowMapper());
		System.out.println(user.getName());
	}

	// select list
	public void selectByList() {
		String sql = "select * from user";
		List<User> list = getJdbcTemplate().query(sql, new UserRowMapper());
		for (User user : list) {
			System.out.println(user.getId() + ";" + user.getName());
		}
	}

	// select row
	@SuppressWarnings("unchecked")
	public void selectByRows() {
		String sql = "select * from user";
		List rows = getJdbcTemplate().queryForList(sql);
		for (int i = 0; i < rows.size(); i++) {
			Map map = (Map) rows.get(i);
			System.out.println(map.get("name"));
		}
	}
}

Mapper 

package test.mapper;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.springframework.jdbc.core.RowMapper;

import test.bean.User;

public class UserRowMapper implements RowMapper<User> {

	public User mapRow(ResultSet rs, int index) throws SQLException {
		User user = new User();
		user.setId(rs.getInt("id"));
		user.setName(rs.getString("name"));
		return user;
	}

}

Entity

package test.bean;

public class User {
	private int id;
	private String name;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

注意:实列化UserRepositoryImpl  对象后,需要调用 setDataSource(dataSource); // 设定数据源,如果想知道是什么原因,需要查看JdbcDaoSupport  的源码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值