Java数据库操作(MySQL与SQLserver)
在java编程开发中,数据库的开发是重头戏。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品;
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。
Jar包下载
java数据库的连接需要依赖外部jar包,所以需要下载后进行:构建路径->配置构建路径->库->添加JAR->应用->确定
SQLserver:
https://blog-static.cnblogs.com/files/dongxiaodong/sqlserverdb.zip
MySQL:
https://blog-static.cnblogs.com/files/dongxiaodong/mysqldb.zip
连接储备
连接数据库最重要的地方就是确定其数据库驱动和URL
SQLserver:
String forn="com.microsoft.sqlserver.jdbc.SQLServerDriver";//数据库驱动 String url = "jdbc:sqlserver://172_16_0_6:1433;databaseName=mydbname ";//连接的url
MySQL:
String forn="com.mysql.jdbc.Driver";//数据库驱动 String url = "jdbc:mysql://localhost:3306/mydbname ";//连接的url
数据库连接
导入模块
import java.sql.*
创建类属性
private Connection ct=null; private Statement st=null;
数据库连接函数
1 private void Db(){ 2 String forn="com.mysql.jdbc.Driver";//数据库驱动 3 String url = "jdbc:mysql://localhost:3306/db_library";//连接的url 4 String user="root"; //用户名 5 String password="root";//密码 6 try { 7 Class.forName(forn);//注册、加载特定的驱动程序 8 } catch (ClassNotFoundException e) { 9 JOptionPane.showMessageDialog(null,"加载数据库失败01"); 10 System.exit(0);//关闭整个应用 11 e.printStackTrace(); 12 } 13 try { 14 ct=DriverManager.getConnection(url,user,password);//创建连接,创建连接Connection对象 15 } catch (SQLException e1) { 16 JOptionPane.showMessageDialog(null,"加载数据库失败02"+e1.toString()); 17 System.exit(0);//关闭整个应用 18 e1.printStackTrace(); 19 } 20 try { 21 st=ct.createStatement();//创建会话对象,用Connection对象生成Statement对象 22 } catch (SQLException e3) { 23 JOptionPane.showMessageDialog(null,"加载数据库失败03"); 24 System.exit(0);//关闭整个应用 25 e3.printStackTrace(); 26 } 27 JOptionPane.showMessageDialog(null,"连接数据库成功了"); 28 }
数据库基本操作
查询操作:
获取结果第一条
1 try { 2 //执行SQL语句 3 ResultSet rex = st.executeQuery("select *from tb_books where b_id=1"); 4 //判断是否查询到值 5 if(rex.next()){ 6 String ss=rex.getString("字段名"); 7 JOptionPane.showMessageDialog(null,"字段数据为:"+ss); 8 } 9 } catch (SQLException e1) { 10 e1.printStackTrace(); 11 }
获取全部结果:
1 try { 2 //执行SQL语句 3 ResultSet rex = st.executeQuery("select *from tb_books where b_id=1"); 4 //判断是否查询到值 5 while(rex.next()){ 6 String ss=rex.getString("字段名"); 7 JOptionPane.showMessageDialog(null,"字段数据为:"+ss); 8 } 9 } catch (SQLException e1) { 10 e1.printStackTrace(); 11 }
更新操作
executeUpdate可以执行插入、更新、删除的SQL语句,并返回影响行数
1 try { 2 //设置更新的SQL语句 3 String sql2="update tb_test set text1='123',text2='1234' where id='1'"; 4 int ii = st.executeUpdate(sql2);//返回影响行数 5 JOptionPane.showConfirmDialog(null,"影响行数为:"+ii); 6 } catch (SQLException e1) { 7 e1.printStackTrace(); 8 }