記事のディレクトリ
データベース開発:基本操作(クエリ)
♦JdbcTemplate操作データベース(クエリは特定の値を返します)
1、クエリテーブルにあるレコードの数、リターンは特定の値です
- データベース:ユーザー情報テーブル
@Service
public class UserService {
// 注入UserDao对象属性
@Autowired
private UserDao userDao;
// 添加用户
public void addUser(User user){
userDao.add(user);
}
// 修改用户
public void updateUser(User user){
userDao.updateUser(user);
}
// 删除用户
public void deleteUser(String id){
userDao.deleteUser(id);
}
// 查询用户表的记录数
public int Count(){
return userDao.selectCount();
}
}
2、JdbcTemplate
クエリが値を返すように実装します。
- 最初のパラメーター:
sql 语句
- 2番目のパラメーター:
返回值的类型所对应的类(.class)
public interface UserDao {
// 添加用户的方法
void add(User user);
// 修改用户的方法
void updateUser(User user);
// 删除用户记录
void deleteUser(String id);
// 查询用户表的记录数
int selectCount();
}
@Repository
public class UserDaoImpl implements UserDao {
// 注入JdbcTemplate对象
@Autowired
private JdbcTemplate jdbcTemplate;
// 重写add方法
@Override
public void add(User user) {
.......
}
// 重写updateuser方法
@Override
public void updateUser(User user) {
.......
}
// 删除用户记录
@Override
public void deleteUser(String id) {
.......
}
// 查询返回用户表的记录数
@Override
public int selectCount() {
// sql 语句
String sql = "select count(*) from t_user";
int count = jdbcTemplate.queryForObject(sql,Integer.class);
return count;
}
}
3.テスト
@org.junit.Test
public void test_jdbc(){
try {
ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
UserService userService = context.getBean("userService",UserService.class);
// 查询返回用户表的记录数
int count = userService.Count();
System.out.println("用户信息表的记录数为"+count+"条。");
} catch (Exception e){
e.printStackTrace();
}
}
♦JdbcTemplate操作データベース(クエリはオブジェクトを返します)
1.シナリオ:ユーザーの詳細を照会する
public interface UserDao {
// 添加用户的方法
void add(User user);
// 修改用户的方法
void updateUser(User user);
// 删除用户记录
void deleteUser(String id);
// 查询用户表的记录数
int selectCount();
// 查询返回用户对象
User selectObject(String id);
}
@Service
public class UserService {
// 注入UserDao对象属性
@Autowired
private UserDao userDao;
// 添加用户
public void addUser(User user){
userDao.add(user);
}
// 修改用户
public void updateUser(User user){
userDao.updateUser(user);
}
// 删除用户
public void deleteUser(String id){
userDao.deleteUser(id);
}
// 查询用户表的记录数
public int Count(){
return userDao.selectCount();
}
// 查询返回用户对象
public User select_Object(String id){
return userDao.selectObject(id);
}
}
2.JdbcTemplateはクエリ戻りオブジェクトを実装します
- 最初のパラメーター:
sql 语句
- 2番目のパラメーター:
RowMapper
インターフェースであり、さまざまなタイプのデータを返すための対応するジェネリックを追加し、このインターフェースを使用してクラスを実装し、データのカプセル化を完了します - 3番目のパラメーター:
sql 语句值
@Repository
public class UserDaoImpl implements UserDao {
// 注入JdbcTemplate对象
@Autowired
private JdbcTemplate jdbcTemplate;
// 重写add方法
@Override
public void add(User user) {
.......
}
// 重写updateuser方法
@Override
public void updateUser(User user) {
.......
}
// 删除用户记录
@Override
public void deleteUser(String id) {
.......
}
// 查询返回用户表的记录数
@Override
public int selectCount() {
........
}
// 查询返回用户对象
@Override
public User selectObject(String id) {
// sql 语句
String sql = "select * from t_user where userId=?";
User user = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), id);
return user;
}
}
3.テスト
@org.junit.Test
public void test_jdbc(){
try {
ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
UserService userService = context.getBean("userService",UserService.class);
User user1 = userService.select_Object("1");
System.out.println("你查找的用户信息为:"+user1);
} catch (Exception e){
e.printStackTrace();
}
}
♦JdbcTemplate操作データベース(クエリはコレクションを返します)
1.シナリオ:ユーザーリストページのクエリ...
public interface UserDao {
// 添加用户的方法
void add(User user);
// 修改用户的方法
void updateUser(User user);
// 删除用户记录
void deleteUser(String id);
// 查询用户表的记录数
int selectCount();
// 查询返回用户对象
User selectObject(String id);
// 查询返回集合
List<User> findAll();
}
@Service
public class UserService {
// 注入UserDao对象属性
@Autowired
private UserDao userDao;
// 添加用户
public void addUser(User user){
userDao.add(user);
}
// 修改用户
public void updateUser(User user){
userDao.updateUser(user);
}
// 删除用户
public void deleteUser(String id){
userDao.deleteUser(id);
}
// 查询用户表的记录数
public int Count(){
return userDao.selectCount();
}
// 查询返回用户对象
public User select_Object(String id){
return userDao.selectObject(id);
}
// 查询信息返回集合
public List<User> findAll(){
return userDao.findAll();
}
}
2. JdbcTemplateメソッドを呼び出してクエリを実装し、コレクションを返します
- 最初のパラメーター:
sql 语句
- 2番目のパラメーター:
RowMapper
インターフェースです。さまざまなタイプのデータを返すために、このインターフェースの実装クラスを使用してデータのカプセル化を完了します。 - 3番目のパラメーター:
sql 语句值
@Repository
public class UserDaoImpl implements UserDao {
// 注入JdbcTemplate对象
@Autowired
private JdbcTemplate jdbcTemplate;
// 重写add方法
@Override
public void add(User user) {
.......
}
// 重写updateuser方法
@Override
public void updateUser(User user) {
.......
}
// 删除用户记录
@Override
public void deleteUser(String id) {
.......
}
// 查询返回用户表的记录数
@Override
public int selectCount() {
........
}
// 查询返回用户对象
@Override
public User selectObject(String id) {
.........
}
// 查询信息返回集合
@Override
public List<User> findAll() {
// sql语句
String sql = "select * from t_user";
List<User> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<User>(User.class));
return list;
}
}
3.テスト
@org.junit.Test
public void test_jdbc(){
try {
ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
UserService userService = context.getBean("userService",UserService.class);
// 查询返回集合
List<User> list = userService.findAll();
System.out.println(list);
} catch (Exception e){
e.printStackTrace();
}
}