2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 关于Java中的JDBC使用和数据库(SQL Server)连接之后的一些操作

关于Java中的JDBC使用和数据库(SQL Server)连接之后的一些操作

时间:2021-06-03 01:22:24

相关推荐

关于Java中的JDBC使用和数据库(SQL Server)连接之后的一些操作

1.首先是java连接数据库的一些准备

(1)打开SQL Server数据库的配置管理器

如果打不开数据库的话可以在命令行窗口cmd->SQLServerManager14.msc

点击SQL Server网络配置->MSSQLSERVER的协议。

点击IP地址->将IP1,IP10,IP11都改成如图所示的,除了这些所示的端口改成1433外,其他所有的端口号都改为1433.

(2).下载JDBC驱动器

/fwlink/?linkid=2155948

解压之后打开

在java使用的时候选择三者中的一个就可以了

(3)如果在安装SQL Server时没有创建密码,这个时候就需要创建密码

(4)打开eclipse

关于导入JDBC那部分操作可以在网上查找到,那上面讲的更加的详细

(5)代码例子:

首先是数据库的设计:创建用户表和图书表

框架:

.主体部分:代码

(1)BookMangerSys 部分:

package cn.test;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 java.util.Scanner;import cn.DAO.impl.BookDaoImpl;import cn.DAO.impl.UserDaoImpl;import cn.DAO.utils.impl.oracleBaseDao;import cn.po.Book;import cn.services.impl.BookServiceImpl;public class BookMangerSys {public static void main(String []args) throws SQLException {oracleBaseDao c = new oracleBaseDao();Connection conn=c.getConnection();Scanner in=new Scanner(System.in);int key=0;UserDaoImpl u=new UserDaoImpl();boolean flags=u.UserDao(conn);if(flags==false) {System.out.println("抱歉!该用户不存在!");}else {while(true) {String sql;String TuSH,TuSM,TuDate,TuSLB,TuAuthor;float TuSJG;int TuNumber;boolean flag;System.out.println("****************************************************");System.out.println("* 1-插入操作(INSERT) *");System.out.println("* 2-更新操作(Update) *");System.out.println("* 3-排序操作(Order)*");System.out.println("* 4-删除操作(Delete) *");System.out.println("* 5-清空表操作(Del_Tab(该操作慎用))*");System.out.println("* 6-批量插入操作(table_insert)*");System.out.println("* 7-查找用户图书操作(Test_list)*");System.out.println("* 8-批量删除图书操作(table_delete) *");System.out.println("*************************************************** *");System.out.println("请问您是否要进行以上操作(0-退出操作页面 其他代表进行相关操作)");key=in.nextInt();if(key==0) {System.out.println("您已操作完毕!");break;}else {switch(key) {case 1:BookDaoImpl ST=new BookDaoImpl();System.out.println(" 图书插入界面 ");System.out.println();ST.insert_1(conn);sql="SELECT * FROM Test";c.query(sql);break;case 2:BookDaoImpl up_1=new BookDaoImpl();System.out.println(" 图书更新界面 ");System.out.println();int ups=0;String upvlaue="UPDATE Test SET TuDate='-9-8';";flag=up_1.UPDATE(conn,ups);if(flag==false) {break;}else {sql="SELECT * FROM Test";c.query(sql);}break;case 3:BookDaoImpl o=new BookDaoImpl();int index;int ord = 0;System.out.println(" 图书排序界面 ");System.out.println();System.out.println("请输入您要按排序的操作(1-图书号 2-图书名 3-图书价格 4-图书日期 5-图书存储量)");index=in.nextInt();o.ORDER(conn,c, index,ord);System.out.println("关闭成功!");break;case 4:BookDaoImpl dl=new BookDaoImpl();System.out.println(" 图书删除界面 ");System.out.println();System.out.println("请输入您要移除的图书编号!");TuSH=in.next();String del="DELETE FROM Test WHERE TuSH='"+TuSH+"';";dl.DELETE_1(conn, c, del);sql="SELECT * FROM Test";c.query(sql);break;case 5://该操作慎用System.out.println(" 清空图书表界面");System.out.println();BookDaoImpl t=new BookDaoImpl();System.out.println("请输入您需要清空的表!");String table;table=in.next();int flag2=t.del_tab(conn, table);if(flag2==1) {System.out.println("清空表成功!");}else if(flag2==2){System.out.println("清空表失败!");}else {break;}case 6:System.out.println(" 批量图书插入界面");System.out.println();BookDaoImpl t1=new BookDaoImpl();BookServiceImpl tt=new BookServiceImpl();List<Book> list=new ArrayList<>();list=tt.table_s(list);t1.insert_2(list, conn);sql="SELECT * FROM Test";c.query(sql);break;case 7:BookDaoImpl f=new BookDaoImpl();System.out.println(" 查找用户图书界面");System.out.println();System.out.println("请输入要查询的图书号");TuSH=in.next();f.findtu_2(conn,TuSH);break;case 8:BookDaoImpl dt=new BookDaoImpl ();BookServiceImpl ts=new BookServiceImpl();System.out.println(" 批量删除图书界面");List<Book>list_1=new ArrayList<>();list_1=ts.table_s(list_1);dt.DELETE_2(conn, c, list_1);sql="SELECT * FROM Test";c.query(sql);break;}}}}}}

BookDaoImpl部分:

(2)package cn.DAO.impl;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;import cn.DAO.interfaces.IBookDao;import cn.DAO.utils.impl.oracleBaseDao;import cn.po.Book;public class BookDaoImpl implements IBookDao{public int del_tab(Connection conn,String table) {System.out.println("您确定要清空表吗?(1-是 0-否)");Scanner in=new Scanner(System.in);int clear_n;clear_n=in.nextInt();if(clear_n==1) {try {Statement stmt=conn.createStatement();String vla="DROP TABLE '"+table+"';";stmt.executeQuery(table);return 1;} catch (SQLException e) {e.printStackTrace();}return 2;}else {return 3;}}public void DELETE_1 (Connection conn,oracleBaseDao d,String del) {try {Statement stmt = conn.createStatement();int count=stmt.executeUpdate(del);if(count>0) {System.out.println("删除成功");}else {System.out.println("删除失败或者该用户不存在");}stmt.close();System.out.println("关闭成功!");} catch (SQLException e) {e.printStackTrace();}}public void DELETE_2(Connection conn,oracleBaseDao d,List<Book>list) {Statement stmt;try {stmt = conn.createStatement();for(Book t:list) {String vla="DELETE FROM Test WHERE TuSH='"+t.getTuSH()+"';";stmt.executeUpdate(vla);}stmt.close();System.out.println("关闭成功!");} catch (SQLException e1) {e1.printStackTrace();}}public boolean findtu_1(Connection conn,String user)throws SQLException {Statement stmt=conn.createStatement();String sql="SELECT * FROM User_Sock WHERE Users='"+user+"';";ResultSet flag=stmt.executeQuery(sql);if(flag.next()) {return true;}else {return false;}}public boolean findtu_user1(Connection conn,String user,String password)throws SQLException {Statement stmt=conn.createStatement();String sql="SELECT * FROM User_Sock WHERE Users='"+user+"'and passwordk='"+password+"';";ResultSet flag=stmt.executeQuery(sql);if(flag.next()) {return true;}else {return false;}}public void findtu_2(Connection conn,String Bal)throws SQLException {Statement stmt=conn.createStatement();String sql="SELECT * FROM Test WHERE TuSH='"+Bal+"';";ResultSet flag=stmt.executeQuery(sql);if(flag.next()) {System.out.println("图书号 图书名 图书类别 图书价格 图书出版日期 图书数量 图书作者");//从前向后迭代输出结果解String TuSH = flag.getString("TuSH");String TuSM = flag.getString("TuSM");String TuSLB = flag.getString("TuSLB");String TuSJG = flag.getString("TuSJG");String TuDate = flag.getString("TuDate");String TuNumber = flag.getString("TuNumber");String TuAuther = flag.getString("TuAuther");System.out.print(TuSH+"\t");System.out.print(TuSM+"\t");System.out.print(TuSLB);System.out.print(TuSJG+"\t\t");System.out.print(TuDate);System.out.print(TuNumber+"\t");System.out.print(TuAuther); System.out.println();stmt.close();}else {System.out.println("该图书不存在");stmt.close();}}public void insert_1(Connection conn) {String TuSH,TuSM,TuDate,TuSLB,TuAuthor;float TuSJG;String Users;String passwordk;Scanner in=new Scanner(System.in);int TuNumber=0;try {System.out.print("请输入图书号: ");TuSH=in.next();System.out.print("请输入图书名称: ");TuSM=in.next();System.out.print("请输入图书类型: ");TuSLB=in.next();System.out.print("请输入图书价格: ");TuSJG=in.nextFloat();System.out.print("请输入图书出版日期: ");TuDate=in.next();System.out.print("请输入图书存储量: ");TuNumber=in.nextInt();System.out.print("请输入图书作者: ");TuAuthor=in.next();String value="INSERT INTO Test VALUES('"+TuSH+"','"+TuSM+"','"+TuSLB+"','"+TuSJG+"','"+TuDate+"','"+TuNumber+"','"+TuAuthor+"')";Statement stmt=conn.createStatement();stmt.executeUpdate(value);stmt.close();} catch (SQLException e) {e.printStackTrace();}}public void insert_2(List<Book>list,Connection conn) {Statement stmt = null;for(Book t:list) {String value="INSERT INTO Test VALUES('"+t.getTuSH()+"','"+t.getTuSM()+"','"+t.getTuSLB()+"','"+t.getTuSJG()+"','"+t.getDate()+"','"+t.getNumber()+"','"+t.getAuthor()+"')";try {stmt=conn.createStatement();stmt.executeUpdate(value);} catch (SQLException e) {e.printStackTrace();}}try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}public void ORDER(Connection conn,oracleBaseDao c,int index,int ord) {try {Scanner in=new Scanner(System.in);Statement stmt = conn.createStatement();String AS=null;if(index==1) {System.out.println("请问您是要图书号升序排还是降序排(1-升序 2-降序)");ord=in.nextInt();if(ord==1) {AS="SELECT * FROM Test ORDER BY TuSH ASC;";}else if(ord==2){AS="SELECT * FROM Test ORDER BY TuSH DESC;";}}elseif(index==2) {System.out.println("请问您是要图书名升序排还是降序排(1-升序 2-降序)");ord=in.nextInt();if(ord==1) {AS="SELECT * FROM Test ORDER BY TuSM ASC;";}else if(ord==2){AS="SELECT * FROM Test ORDER BY TuSM DESC;";}}elseif(index==3) {System.out.println("请问您是要图价格升序排还是降序排(1-升序 2-降序)");ord=in.nextInt();if(ord==1) {AS="SELECT * FROM Test ORDER BY TuSJG ASC;";}else if(ord==2){AS="SELECT * FROM Test ORDER BY TuSJG DESC;";}}elseif(index==4) {System.out.println("请问您是要图日期升序排还是降序排(1-升序 2-降序)");ord=in.nextInt();if(ord==1) {AS="SELECT * FROM Test ORDER BY TuDate ASC;";}else if(ord==2){AS="SELECT * FROM Test ORDER BY TuDate DESC;";}}elseif(index==5) {System.out.println("请问您是要图存储量升序排还是降序排(1-升序 2-降序)");ord=in.nextInt();if(ord==1) {AS="SELECT * FROM Test ORDER BY TuNumber ASC;";}else if(ord==2){AS="SELECT * FROM Test ORDER BY TuNumber DESC;";}}stmt.executeQuery(AS);c.query(AS);stmt.close();System.out.println("关闭成功!");} catch (SQLException e) {e.printStackTrace();}}public boolean UPDATE(Connection conn,int ups) {Scanner in=new Scanner(System.in);String TuSH=null ,TuSM = null,TuDate=null,TuSLB=null,TuAuthor=null;float TuSJG=0;int TuNumber=0;Map<String,String> map=new HashMap<String,String>();String Users;String passwordk;System.out.println("请输入要修改的用户名(Users)和用户密码(password)");Users=in.next();passwordk=in.next();try {if(findtu_1(conn, Users)) {System.out.println("以下是库中存在的用户图书基本信息!");try {String Bvla="SELECT TuSH,TuSM,TuSLB FROM Test ";Statement st = conn.createStatement();oracleBaseDao d=new oracleBaseDao();System.out.println("图书号 图书名 图书类别");ResultSet rs=st.executeQuery(Bvla);while(rs.next()) {String TuSH_s = rs.getString("TuSH");String TuSM_s = rs.getString("TuSM");String TuSLB_s = rs.getString("TuSLB");System.out.print(TuSH_s+"\t");System.out.print(TuSM_s+"\t");System.out.print(TuSLB_s);System.out.print("\n");}st.close();} catch (SQLException e) {e.printStackTrace();}System.out.println("执行用户操作!");System.out.print("请输入您需要修改的图书号: ");TuSH=in.next();System.out.println("请问您是否需要更新图名(1-需要 0-不需要)");ups=in.nextInt();if(ups==1) {System.out.print("请输入修改图书名称: ");TuSM=in.next();map.put("1", TuSM);}System.out.println("请问您是否需要更新图书类型(1-需要 0-不需要)");ups=in.nextInt();if(ups==1) {System.out.print("请输入修改图书类型: ");TuSLB=in.next();map.put("2", TuSLB);}System.out.println("请问您是否需要更新图书价格(1-需要 0-不需要)");ups=in.nextInt();if(ups==1) {System.out.print("请输入修改图书价格: ");TuSJG=in.nextFloat();map.put("3","TuSJG");}System.out.println("请问您是否需要更新图书出版日期(1-需要 0-不需要)");ups=in.nextInt();if(ups==1) {System.out.print("请输入修改图书出版日期: ");TuDate=in.next();map.put("4", TuDate);}System.out.println("请问您是否需要更新图书存储量(1-需要 0-不需要)");ups=in.nextInt();if(ups==1) {System.out.print("请输入修改图书存储量: ");TuNumber=in.nextInt();map.put("5","TuNumber");}System.out.println("请问您是否需要更新图书作者名(1-需要 0-不需要)");ups=in.nextInt();if(ups==1) {System.out.print("请输入修改图书作者: ");TuAuthor=in.next();map.put("6", TuAuthor);}Statement stmt=conn.createStatement();if(map.get("1")!=null) {String vla="UPDATE Test SET TuSM='"+TuSM+"' WHERE TuSH='"+TuSH+"';";stmt.executeUpdate(vla);}if(map.get("2")!=null) {String vla="UPDATE Test SET TuSLB='"+TuSLB+"' WHERE TuSH='"+TuSH+"';";stmt.executeUpdate(vla);}if(map.get("3")!=null) {String vla="UPDATE Test SET TuSJG='"+TuSJG+"' WHERE TuSH='"+TuSH+"';";stmt.executeUpdate(vla);}if(map.get("4")!=null) {String vla="UPDATE Test SET TuDate='"+TuDate+"' WHERE TuSH='"+TuSH+"';";stmt.executeUpdate(vla);}if(map.get("5")!=null) {String vla="UPDATE Test SET TuNumber='"+TuNumber+"' WHERE TuSH='"+TuSH+"';";stmt.executeUpdate(vla);}if(map.get("6")!=null) {String vla="UPDATE Test SET TuAuthor='"+TuAuthor+"' WHERE TuSH='"+TuSH+"';";stmt.executeUpdate(vla);}stmt.close();}else {System.out.println("不存在该用户!");return false;}} catch (SQLException e) {e.printStackTrace();}return true;}@Overridepublic List table_s(List<Book> list) {// TODO Auto-generated method stubreturn null;}}

UserDaoImpl部分:

package cn.DAO.impl;import java.sql.Connection;import java.sql.SQLException;import java.util.Scanner;import cn.DAO.interfaces.IUserDao;public class UserDaoImpl implements IUserDao{public boolean UserDao(Connection conn){BookDaoImpl F=new BookDaoImpl();System.out.println("请输入用户名(Users)和密码(passwordk)!");Scanner in=new Scanner(System.in);String USERS=in.next();String passwordk=in.next();boolean flags=false;try {flags = F.findtu_user1(conn, USERS, passwordk);if(flags==true) {return true;}else {return false;}} catch (SQLException e) {e.printStackTrace();}return false;}}

IBookDao部分:

package cn.DAO.interfaces;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;import cn.DAO.utils.impl.oracleBaseDao;import cn.po.Book;public interface IBookDao {public abstract int del_tab(Connection conn,String table) ;public abstract void DELETE_1 (Connection conn,oracleBaseDao d,String del) ;public abstract void DELETE_2(Connection conn,oracleBaseDao d,List<Book>list);public abstract boolean findtu_1(Connection conn,String user)throws SQLException ;public abstract boolean findtu_user1(Connection conn,String user,String password)throws SQLException;public abstract void findtu_2(Connection conn,String Bal)throws SQLException ;public abstract void insert_1(Connection conn);public abstract void insert_2(List<Book>list,Connection conn);public abstract void ORDER(Connection conn,oracleBaseDao c,int index,int ord);public abstract List table_s(List<Book>list);public abstract boolean UPDATE(Connection conn,int ups);}

IUserDao部分:

package cn.DAO.interfaces;import java.sql.Connection;public interface IUserDao {public abstract boolean UserDao(Connection conn);}

oracleBaseDao部分:package cn.DAO.utils.impl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import cn.DAO.utils.interfaces.IBaseDao;import java.lang.Math;public class oracleBaseDao implements IBaseDao{public Connection con;public Statement sta;public ResultSet rs;static {try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {e.printStackTrace();}}//与数据库表建立联系public Connection getConnection(){//DatabaseName是你要连接的数据库名称String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Laborary";try {/**第一个sa是你的SQLserver用户名,第二个是此用户名所对应的密码***/con = DriverManager.getConnection(url, "用户名", "密码");//根据自己在登录数据库时设置的密码和用户名sta = con.createStatement();//创建执行SQL语句的对象System.out.println("链接成功");} catch (SQLException e) {System.out.println("连接失败");e.printStackTrace();}return con;}//输出结果集public ResultSet query(String sql) {con=getConnection();try {//执行SQL中的SELECT语句rs = sta.executeQuery(sql);System.out.println("图书号 图书名 图书类别 图书价格 图书出版日期 图书数量 图书作");//从前向后迭代输出结果解while(rs.next()) {String TuSH = rs.getString("TuSH");String TuSM = rs.getString("TuSM");String TuSLB = rs.getString("TuSLB");String TuSJG = rs.getString("TuSJG");String TuDate = rs.getString("TuDate");String TuNumber = rs.getString("TuNumber");String TuAuther = rs.getString("TuAuther");System.out.print(TuSH+"\t");System.out.print(TuSM+"\t");System.out.print(TuSLB);System.out.print(TuSJG+"\t\t");System.out.print(TuDate);System.out.print(TuNumber+"\t");System.out.print(TuAuther); System.out.print("\n");}} catch (SQLException e) {e.printStackTrace();}System.out.println(rs);return rs;}public static void closeConnection(ResultSet rt,Statement st,Connection conn)throws Exception {try {if(rt!=null) {rt.close();}if(st!=null) {st.close();}if(conn!=null) {conn.close();}}catch (Exception e){throw new Exception(e.getMessage());}}}

IBaseDao部分:

package cn.DAO.utils.interfaces;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.lang.Math;public interface IBaseDao {public abstract Connection getConnection();public abstract ResultSet query(String sql);public static void closeConnection(ResultSet rt,Statement st,Connection conn)throws Exception{};}

Book部分:

package cn.po;public class Book {private String TuSH;private String TuSM;private String TuSLB;private float TuSJG;private String TuDate;private int TuNumber;private String TuAuthor;public Book() {}public Book(String TuSH,String TuSM,String TuSLB,float TuSJG,String TuDate,int TuNumber,String TuAuthor) {this.TuSH=TuSH;this.TuSM=TuSM;this.TuSLB=TuSLB;this.TuSJG=TuSJG;this.TuDate=TuDate;this.TuNumber=TuNumber;this.TuAuthor=TuAuthor;}public void setTuSH(String TuSH) {this.TuSH=TuSH;}public void setTuSM(String TuSM) {this.TuSM=TuSM;}public void setTuSLB(String TuSLB) {this.TuSLB=TuSLB;}public void setTuSJG(float TuSJG) {this.TuSJG=TuSJG;}public void setTuDate(String TuDate) {this.TuDate=TuDate;}public void setTNumber(int Number) {this.TuNumber=Number;}public void setTuAuthor(String Author) {this.TuAuthor=Author;}public String getTuSH() {return this.TuSH;}public String getTuSM() {return this.TuSM;}public String getTuSLB() {return this.TuSLB;}public float getTuSJG() {return this.TuSJG;}public String getDate() {return this.TuDate;}public int getNumber() {return this.TuNumber;}public String getAuthor() {return this.TuAuthor;}}

User部分:

package cn.po;public class User {private String Users;private String passwordk;public User() {}public User(String Users,String passwordk) {this.Users=Users;this.passwordk=passwordk;}public void setUser(String User) {this.Users=User;}public void setpassword(String passwordk) {this.passwordk=passwordk;}public String getUser() {return this.Users;}public String getpasswordk() {return this.passwordk;}

BookServiceImpl部分:

package cn.services.impl;import java.util.List;import cn.po.Book;import cn.services.interfaces.IBookServices;public class BookServiceImpl implements IBookServices{public List table_s(List<Book>list) {Book t1=new Book("B12","离散数学","教科书",46,"-6-7",99,"清华");Book t2=new Book("B13","大学心理健康","教科书",47,"-5-7",89,"外语");Book t3=new Book("B14","形式与政策","教科书",48,"-3-7",56,"时事报告");Book t4=new Book("B15","概率论","教科书",36,"-9-15",109,"科学");Book t5=new Book("B16","大学物理","教科书",37,"-5-6",97,"学习指导");list.add(t1);list.add(t2);list.add(t3);list.add(t4);list.add(t5);return list;}}

UserServiceImpl部分:

package cn.services.impl;import java.util.List;import cn.po.User;import cn.services.interfaces.IUserService;public class UserServiceImpl implements IUserService{public List table_s(List<User>list) {User t1=new User("ts","123456ts");User t2=new User("yr","123456yr");User t3=new User("re","123456re");User t4=new User("wt","123456we");User t5=new User("qr","123456qt");list.add(t1);list.add(t2);list.add(t3);list.add(t4);list.add(t5);return list;}}

代码运行截图:

以上关于数据库部分添加的数据都是自己写的,可能和实际的数据不一致!

关于连接数据库部分都是学习的,代码的具体实现和功能都是自己设置的!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。