對數(shù)據(jù)庫進行增刪改查?
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安福免費建站歡迎大家使用!
以下是 sql server 2013+java.實現(xiàn)的是對MSC對象的增刪改查.
需要下載連接驅動程序:com.microsoft.sqlserver.jdbc.SQLServerDriver
網(wǎng)上搜一下就行
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class MSC
{
public String MscID;
public String MscName;
public String MscCompany;
public float MscLongitude;
public float MscLatitude;
public float MscAltitude;
public MSC(String MscID, String MscName, String MscCompany,
float MscLongitude, float MscLatitude,float MscAltitude){
this.MscID = MscID;
this.MscName = MscName;
this.MscCompany = MscCompany;
this.MscLongitude =MscLongitude;
this.MscLatitude = MscLatitude;
this.MscAltitude = MscAltitude;
}
}
public class sqlserverjdbc {
public Connection getConnection(){
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=gsm"; //連接服務器和數(shù)據(jù)庫sample
String userName = "sa"; //默認用戶名
String userPwd = "123"; //密碼
Connection dbConn = null;
try {
Class.forName(driverName);
dbConn =DriverManager.getConnection(dbURL, userName, userPwd);
} catch (Exception e) {
e.printStackTrace();
}
return dbConn;
}
public void printUserInfo(){
Connection con = getConnection();
Statement sta = null;
ResultSet rs = null;
System.out.println("打印表格MSC信息");
try {
sta = con.createStatement();
rs = sta.executeQuery("select * from MSC信息");
System.out.println("MscID\tMscName\tMscCompany\tMscLongitude\tMscLatitude\tMscAltitude");
while(rs.next()){
System.out.println(rs.getString("MscID")+"\t"+
rs.getString("MscName")+"\t"+
rs.getString("MscCompany")+"\t"+
rs.getFloat("MscLongitude")+"\t"+
rs.getFloat("MscLatitude")+"\t"+
rs.getFloat("MscAltitude"));
}
con.close();
sta.close();
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("打印完成\n");
}
public void delete(String MscID){
Connection con = getConnection();
String sql = "delete from MSC信息 where MscID = " + MscID;
PreparedStatement pst;
System.out.println("刪除表格MSC信息中 ID = "+MscID+"的記錄");
try {
pst = con.prepareStatement(sql);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("記錄刪除失?。。?!");
}
System.out.println("記錄刪除成功!??!\n");
}
public void insert(MSC msc){
Connection con = getConnection();
String sql = "insert into MSC信息 values(?,?,?,?,?,?)";
PreparedStatement pst;
System.out.println("插入一條記錄");
try {
pst = con.prepareStatement(sql);
pst.setString(1, msc.MscID);
pst.setString(2, msc.MscName);
pst.setString(3, msc.MscCompany);
pst.setFloat(4, msc.MscLongitude);
pst.setFloat(5, msc.MscLatitude);
pst.setFloat(6, msc.MscAltitude);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("插入失?。。?!");
}
System.out.println("插入成功?。?!\n");
}
//更新MscID的MscName
public void updateMscName(String MscID, String MscName){
Connection con = getConnection();
String sql = "update MSC信息 set MscName = ? where MscID = ?";
PreparedStatement pst;
System.out.println("修改一條記錄");
try {
pst = con.prepareStatement(sql);
pst.setString(1, MscName);
pst.setString(2, MscID);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("修改失?。。。?);
}
System.out.println("修改成功?。?!\n");
}
public static void main(String args[]){
sqlserverjdbc sql = new sqlserverjdbc();
sql.printUserInfo();
sql.delete("1111");
sql.printUserInfo();
sql.updateMscName("5215", "聯(lián)想");
sql.printUserInfo();
sql.insert(new MSC("1111", "中興" ," 中興", (float)12.2, (float)3.4,(float)45.5));
sql.printUserInfo();
}
}
***********對人員表TUser的業(yè)務邏輯:
package bean;
import java.sql.*;
import java.util.ArrayList;
import bean.UserBean;
import bean.DBUtil;
public class UserDAO{
public UserDAO() {
}
/*更新數(shù)據(jù),通過傳遞許更新的對象以及SQL語句,對數(shù)據(jù)進行添加、刪除或更新操作
*obj為實體類的對象,sql為SQL語句
*/
public boolean insertUser(UserBean ub){
boolean b=false;
Connection conn=null;
PreparedStatement stmt=null;
String sql=null;
try{
//插入一條記錄
sql="insert into TUser values(user_sequence.nextval,?,?,?,?,?)";
//創(chuàng)建一個連接
conn=DBUtil.getConnection();
//創(chuàng)建PreparedStatement的對象
stmt=conn.prepareStatement(sql);
//給SQL語句內的"?"賦值
//stmt.setInt(1,ub.getUser_ID());
stmt.setString(1,ub.getMobile_Number());
stmt.setString(2,ub.getRoaming_Status());
stmt.setString(3,ub.getCom_Level());
stmt.setInt(4,ub.getCustomer_ID());
stmt.setInt(5,ub.getAccount_ID());
//返回執(zhí)行更新操作后受影響的行數(shù)
int rst=stmt.executeUpdate();
if(rst!=0){
b=true;
}
//關閉相關的連接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}
/*修改一條數(shù)據(jù)
*直接調用insertUser()方法
*/
public boolean updateUser(UserBean ub){
boolean b=false;
Connection conn=null;
PreparedStatement stmt=null;
String sql=null;
try{
//插入一條記錄
sql="update TUser set Mobile_Number=?,Roaming_Status=?,Com_Level=?,Customer_ID=?,Account_ID=? where User_ID="+ub.getUser_ID();
//創(chuàng)建一個連接
conn=DBUtil.getConnection();
//創(chuàng)建PreparedStatement的對象
stmt=conn.prepareStatement(sql);
//給SQL語句內的"?"賦值
//stmt.setInt(1,ub.getUser_ID());
stmt.setString(1,ub.getMobile_Number());
stmt.setString(2,ub.getRoaming_Status());
stmt.setString(3,ub.getCom_Level());
stmt.setInt(4,ub.getCustomer_ID());
stmt.setInt(5,ub.getAccount_ID());
//返回執(zhí)行更新操作后受影響的行數(shù)
int rst=stmt.executeUpdate();
if(rst!=0){
b=true;
}
//關閉相關的連接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}
/*刪除一條記錄
*@返回boolean類型的標志,通過傳遞UserBean的實例對象,得到該對象的User_ID
*/
public boolean deleteUser(UserBean ub){
boolean b=false; //測試變量,無實在意義
Connection conn=null;
Statement stmt=null;
String sql=null;
int id=0;
try{
id=ub.getUser_ID();
//刪除記錄為id的記錄
sql="delete from TUser where User_ID="+id;
//創(chuàng)建一個連接
conn=DBUtil.getConnection();
//創(chuàng)建PreparedStatement的對象
stmt=conn.createStatement();
//檢測刪除的對象是否存在
if(getUser(id)!=nullgetUser(id).getUser_ID()==id){
//返回執(zhí)行更新操作后受影響的行數(shù)
int rst = stmt.executeUpdate(sql);
if (rst 0) {
b = true;
}
}else{
System.out.println("此條記錄不存在!");
}
//關閉相關的連接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕獲異常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}
/*查詢數(shù)據(jù)/得到數(shù)據(jù)
*str為數(shù)據(jù)庫對應的列名,sql為傳入的SQL語句
*/
public UserBean getUser(int user_id){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String sql=null;
UserBean user=null;
try{
//從數(shù)據(jù)庫中查詢User_ID值為user_id的記錄
sql="select * from TUser where User_ID="+user_id;
//創(chuàng)建一個連接
conn=DBUtil.getConnection();
//創(chuàng)建Statement的對象
stmt=conn.createStatement();
//實例化UserBean的一個對象
user =new UserBean();
//執(zhí)行操作,返回一個結果集
rs=stmt.executeQuery(sql);
//從結果集中讀取一條記錄,并且將對應的屬性值賦值給user
if(rs.next()){
//System.out.println(rs.getString("User_Address"));
user.setUser_ID(rs.getInt("User_ID"));
user.setMobile_Number(rs.getString("Mobile_Number"));
user.setRoaming_Status(rs.getString("Roaming_Status"));
user.setCom_Level(rs.getString("Com_Level"));
user.setCustomer_ID(rs.getInt("Customer_ID"));
user.setAccount_ID(rs.getInt("Account_ID"));
//System.out.println(user.getUser_ID());
}
//關閉相關的連接
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕獲異常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
//返回user對象
// System.out.println(user.getUser_ID());
return user;
}
/*查詢數(shù)據(jù)
*str為數(shù)據(jù)庫對應的列名,sql為傳入的SQL語句
*@返回一個數(shù)據(jù)列表
*/
public ArrayList getUsers(){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String sql=null;
UserBean user=null;
ArrayList list=null;
try{
//從數(shù)據(jù)庫中查詢User_ID值為user_id的記錄
sql="select * from TUser";
//創(chuàng)建一個連接
conn=DBUtil.getConnection();
//創(chuàng)建Statement的對象
stmt=conn.createStatement();
list=new ArrayList();
//執(zhí)行操作,返回一個結果集
rs=stmt.executeQuery(sql);
//從結果集中循環(huán)讀取記錄,并且將對應的屬性值賦值給user
while(rs.next()){
//實例化UserBean的一個對象
user =new UserBean();
user.setUser_ID(rs.getInt("User_ID"));
user.setMobile_Number(rs.getString("Mobile_Number"));
user.setRoaming_Status(rs.getString("Roaming_Status"));
user.setCom_Level(rs.getString("Com_Level"));
user.setCustomer_ID(rs.getInt("Customer_ID"));
user.setAccount_ID(rs.getInt("Account_ID"));
//將user添加到list中
list.add(user);
}
//關閉相關的連接
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕獲異常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
//返回list對象
return list;
}
}
********************與數(shù)據(jù)庫的連接類DBUtil:
package bean;
import java.sql.*;
public class DBUtil {
static String serverName="localhost"; //主機地址
static String sDBDriver="oracle.jdbc.driver.OracleDriver"; //oracle驅動
static String dbInstance="cloud"; //數(shù)據(jù)庫的名稱
static String sConnStr="jdbc:oracle:thin:@"+serverName+":1521:"+dbInstance; //數(shù)據(jù)庫的連接字符串
static String dbUser="system"; //數(shù)據(jù)庫的登陸名
static String userPwd="manager"; //數(shù)據(jù)庫的登陸密碼
/*
*得到一個Connection對象
*@return java.sql.Connection
*/
public static Connection getConnection(){
Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(sConnStr,dbUser,userPwd);
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException se){
se.printStackTrace();
}
return conn;
}
//關閉指定的結果集rs
public static void closeResultSet(ResultSet rs){
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
//關閉指定的Statement
public static void closeStatement(Statement stmt){
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
//關閉連接conn
public static void closeConnection(Connection conn){
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
class NewAction implements ActionListener{
String url="jdbc:odbc:s";
String user="sa";
String passwd="";
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb){
Find();
}
else if(e.getSource()==jb1){
Write();
JOptionPane.showMessageDialog(null, "添加成功");
}
else if(e.getSource()==jb3){
Del();
JOptionPane.showMessageDialog(null, "刪除成功");
}
else if(e.getSource()==jb4){
Update();
JOptionPane.showMessageDialog(null, "修改成功");
}
else if(e.getSource()==jb5){
Build();
}
}
public void Find(){
boolean f=false;
String lk="select * from std";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
Statement sql=con.createStatement();
ResultSet rs=sql.executeQuery(lk);
while(rs.next()){
String p=rs.getString(1);
f=(jf13.getText().trim()).equals(p.trim());
if(f){
jf1.setText(p);
jf1.setEditable(false);
jf2.setText(rs.getString(2));
jf2.setEditable(false);
jf3.setText(rs.getString(3));
jf3.setEditable(false);
jf4.setText(rs.getString(4));
jf4.setEditable(false);
jf5.setText(rs.getString(5));
jf5.setEditable(false);
jf6.setText(rs.getString(6));
jf6.setEditable(false);
jf7.setText(rs.getString(7));
jf7.setEditable(false);
jf8.setText(rs.getString(8));
jf8.setEditable(false);
jf9.setText(rs.getString(9));
jf9.setEditable(false);
jf10.setText(rs.getString(10));
jf10.setEditable(false);
jta.setText(rs.getString(11));
jta.setEditable(false);
jf12.setText(rs.getString(12));
jf12.setEditable(false);
jf13.setText(rs.getString(13));
jf13.setEditable(false);
}
}
if(!f){
JOptionPane.showMessageDialog(null,"此人不存在!");
}
rs.close();
sql.close();
con.close();
}catch(SQLException p){}
catch(Exception d){}
}
public void Write(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
PreparedStatement sql=con.prepareStatement("insert into std values(?,?,?,?,?,?,?,?,?,?,?,?)");
sql.setString(1,jf1.getText());
sql.setString(2, jf2.getText());
sql.setString(3,jf3.getText());
sql.setString(4, jf4.getText());
sql.setString(5, jf5.getText());
sql.setString(6, jf6.getText());
sql.setString(7, jf7.getText());
sql.setString(8, jf8.getText());
sql.setString(9, jf9.getText());
sql.setString(10, jf10.getText());
sql.setString(11, jta.getText());
sql.setString(12, jf12.getText());
sql.executeUpdate();
con.close();
sql.close();
}catch(Exception p){
p.printStackTrace();
}
}
public void Del(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
PreparedStatement sql=con.prepareStatement("delete from std where 姓名=?");
sql.setString(1, jf13.getText());
sql.executeUpdate();
sql.close();
con.close();
}catch(Exception p){
p.printStackTrace();
}
}
public void Update(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
PreparedStatement sql=con.prepareStatement("update std set 姓名=?,班級=?,性別=?,宿舍=?,出生年月=?,移動電話=?,民族=?,電子郵件=?,籍貫=?,備注=?,家庭詳細住址=?,郵政編碼=? where 姓名=?");
sql.setString(1,jf1.getText());
sql.setString(2, jf2.getText());
sql.setString(3,jf3.getText());
sql.setString(4, jf4.getText());
sql.setString(5, jf5.getText());
sql.setString(6, jf6.getText());
sql.setString(7, jf7.getText());
sql.setString(8, jf8.getText());
sql.setString(9, jf9.getText());
sql.setString(10, jf10.getText());
sql.setString(11, jta.getText());
sql.setString(12, jf12.getText());
sql.setString(13, jf13.getText());
sql.executeUpdate();
con.close();
sql.close();
}catch(Exception p){
p.printStackTrace();
}
}
}這是我以前寫的 修改表對應的列項 就好了
首先你得確定你的數(shù)據(jù)庫連接是通過什么形式連接的,hibernate還是原生態(tài)的jdbc 還是spring;
如果是只有hibernate,那么你得通過加載配置文件得到sessionFactory,然后得到session
如果spring,那么同樣也需要注入sessionfactory到你的dao
如果是jdbc方式,那么你就按照原生態(tài)jdbc寫法
總之,在你構造DAO時,得有數(shù)據(jù)源。這樣才能操縱你的數(shù)據(jù)庫
如果搞懂了這些問題,那么你的第一個,第三個問題就迎刃而解了。至于第二問題,我沒明白你什么意思!
網(wǎng)站標題:java代碼增刪改查事例 java增刪改查實例
瀏覽路徑:http://m.rwnh.cn/article34/doopose.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、服務器托管、企業(yè)網(wǎng)站制作、營銷型網(wǎng)站建設、品牌網(wǎng)站制作、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)