練習最原始的JDBC的基本操作
User.class
package com.humman.pojo;
public class User {
private Integer userId;
private String username;
private Integer userAge;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getUserAge() {
return userAge;
}
public void setUserAge(Integer userAge) {
this.userAge = userAge;
}
@Override
public String toString() {
return "User [userId=" + userId + ", username=" + username + ", userAge=" + userAge + "]";
}
}
UserService.class
package com.humman.service;
import java.util.List;
import com.humman.pojo.User;
public interface UserService {
/**
* 查詢所有列表資訊
* @return
*/
List<User> queryAll();
/**
* 插入User
* @param user
* @return
*/
int insertUser(User user);
/**
* 更新User資訊
* @param user
* @return
*/
int updateUser(User user);
/**
* 根據userId刪除對應資料
* @param userId
* @return
*/
int deleteUserById(int userId);
}
UserServiceImpl
package com.humman.service.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.humman.pojo.User;
import com.humman.service.UserService;
import com.humman.untils.DBuntil;
public class UserServiceImpl implements UserService{
/**
*
*/
public List<User> queryAll() {
// TODO Auto-generated method stub
String[] strs = null;
ResultSet rs = null;
List<User> userLsit =new ArrayList<User>();
User user = null;
try {
rs =DBuntil.query("select * from T_users where ?=?",strs);
while(rs.next()){
user = new User();
user.setUserId(rs.getInt("id"));
user.setUsername(rs.getString("name"));
user.setUserAge(rs.getInt("age"));
userLsit.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
/**
* 先關閉Connection,則rs也會被關閉
* 若先關閉ResultSet,則無法再獲得Connection
* 嘗試:可以先取得Connection和Statement物件,然後分別關閉,則不再有錯誤
*/
Connection con=null;
Statement sta= null;
try {
con = rs.getStatement().getConnection();
sta = rs.getStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DBuntil.closeRes(rs);
DBuntil.closeSta(sta);
DBuntil.closeCon(con);
}
return userLsit;
}
/**
* 執行更新插入操作,預設返回0即插入失敗。
*/
public int insertUser(User user) {
// TODO Auto-generated method stub
Object[] objs = {user.getUsername(),user.getUserAge()};
try {
return DBuntil.noQuery("insert into T_users (name,age) values (?,?)",objs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
/**
* 執行更新操作,傳入User物件,根據Id進行更新,更新name和age,未做細緻區分之更新name和age
*/
public int updateUser(User user) {
// TODO Auto-generated method stub
Object[] objs = {user.getUsername(),user.getUserAge(),user.getUserId()};
try {
return DBuntil.noQuery("update T_users set name=?,age=? where id=?",objs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
public int deleteUserById(int userId) {
// TODO Auto-generated method stub
Object[] userIds = {userId};
try {
return DBuntil.noQuery("delete from T_Users where id=?",userIds);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
}
DBuntil.class
package com.humman.service.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.humman.pojo.User;
import com.humman.service.UserService;
import com.humman.untils.DBuntil;
public class UserServiceImpl implements UserService{
/**
*
*/
public List<User> queryAll() {
// TODO Auto-generated method stub
String[] strs = null;
ResultSet rs = null;
List<User> userLsit =new ArrayList<User>();
User user = null;
try {
rs =DBuntil.query("select * from T_users where ?=?",strs);
while(rs.next()){
user = new User();
user.setUserId(rs.getInt("id"));
user.setUsername(rs.getString("name"));
user.setUserAge(rs.getInt("age"));
userLsit.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
/**
* 先關閉Connection,則rs也會被關閉
* 若先關閉ResultSet,則無法再獲得Connection
* 嘗試:可以先取得Connection和Statement物件,然後分別關閉,則不再有錯誤
*/
Connection con=null;
Statement sta= null;
try {
con = rs.getStatement().getConnection();
sta = rs.getStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DBuntil.closeRes(rs);
DBuntil.closeSta(sta);
DBuntil.closeCon(con);
}
return userLsit;
}
/**
* 執行更新插入操作,預設返回0即插入失敗。
*/
public int insertUser(User user) {
// TODO Auto-generated method stub
Object[] objs = {user.getUsername(),user.getUserAge()};
try {
return DBuntil.noQuery("insert into T_users (name,age) values (?,?)",objs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
/**
* 執行更新操作,傳入User物件,根據Id進行更新,更新name和age,未做細緻區分之更新name和age
*/
public int updateUser(User user) {
// TODO Auto-generated method stub
Object[] objs = {user.getUsername(),user.getUserAge(),user.getUserId()};
try {
return DBuntil.noQuery("update T_users set name=?,age=? where id=?",objs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
public int deleteUserById(int userId) {
// TODO Auto-generated method stub
Object[] userIds = {userId};
try {
return DBuntil.noQuery("delete from T_Users where id=?",userIds);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
}
簡單複習一下,也沒啥心得,就是記錄此時。
稍後會通過IO讀取dbproperties的配置
相關文章
- sklearn基本操作程式碼練習
- 關於程式設計的基本練習程式設計
- 【Mybatis原始碼解析】- JDBC連線資料庫的原理和操作MyBatis原始碼JDBC資料庫
- Go 操作 Redis 的基本操作GoRedis
- Docker的基本操作Docker
- MySQL的基本操作MySql
- git的基本操作Git
- TODO 最適合練習主流框架的應用框架
- Mybatis學習筆記 2:Mybatis 基本的CURD操作MyBatis筆記
- stm32學習筆記——基本的地址操作筆記
- Hive學習之基本操作Hive
- JS — 物件的基本操作JS物件
- Spring Boot的基本操作Spring Boot
- Docker映象的基本操作Docker
- Hbase shell的基本操作
- react的基本操作(1)React
- Vim命令的基本操作
- Numpy的基本操作(五)
- 陣列的基本操作陣列
- Hive表的基本操作Hive
- PHP中的MySQLi擴充套件學習(三)mysqli的基本操作PHPMySql套件
- 活動(Activity)的基本操作
- PHP 操作 Redis 的基本方法PHPRedis
- 線性表的基本操作
- flink batch dataset 的基本操作BAT
- gcc和gdb的基本操作GC
- Linux系統的基本操作Linux
- Hive的基本操作用法Hive
- bat指令碼的基本操作BAT指令碼
- ubuntu的ufw基本操作命令Ubuntu
- python 使用csv的基本操作Python
- Python對excel的基本操作PythonExcel
- 資料庫的基本操作資料庫
- Day42--練習--操作題1
- docker 基本安裝配置操作(複習)Docker
- Elasticsearch聚合學習之一:基本操作Elasticsearch
- 「從原始碼中學習」Vue原始碼中的JS騷操作原始碼VueJS
- Array的練習