2023年8月3日发(作者:)
java操作sql数据库_Java连接Sql数据库经常⽤到的操作废话不多说了,直接给⼤家分享java操作sql数据库常见的连接问题。1.连接,查询,更新,关闭这⼏个数据基础操作,所以放到⼀起,写成⼀个⼯具类的模式,也就是model2模式的sql⼯具.这⾥本想把其他操作都加进去,⽐如事务处理,但是⽬前还没想到⽐较完美的⽅法,具体看代码吧,注释很详细import .*;import or;import ;import ;/*** Created by nl101 on 2016/1/29.*/public class SQLBean {//初始化操作都写在前⾯Connection conn = null;PreparedStatement ps =null;ResultSet rs = null;String driverName = "Driver";String url = "jdbc:oracle:thin:@localhost:1521:orcl";String userName = "SCOTT";String passWord = "123456";/*** 初始化连接,获得conn*/public SQLBean(){try {e(driverName);conn = nection(url,userName,passWord);} catch (ClassNotFoundException e) {tackTrace();n("数据库链接异常");} catch (SQLException e) {tackTrace();n("数据库链接异常");}}/*处理事务的函数⽋缺*//*** 创建数据库更新函数* @param sql 对应的更新sql语句* @param params 需要附加的参数* @return true更新成功 false更新失败*/public boolean update(String sql,String[] params){int k = 0;try {ps = eStatement(sql);for (int i = 0; i < ; i++) {//这⾥是从1开始设置参数的ing(i+1,params[i]);}k = eUpdate();} catch (SQLException e) {tackTrace();n("数据库更新异常");}return k>0?true:false;}/*** 数据库查询函数* @param sql 要查询的qsl语句* @param params 附加参数* @return 查询结果集*/public ResultSet query(String sql,String[] params){try {ps = eStatement(sql);for (int i = 0; i < ; i++) {ing(i+1,params[i]);}rs = eQuery();} catch (SQLException e) {tackTrace();n("数据库查询异常");}return rs;}/*** 关闭数据库语句*/public void close(){try {if (rs!=null) (); rs = null;if (ps!=null) (); ps = null;if (conn!=null) (); conn = null;} catch (SQLException e) {tackTrace();}}}写成这样,其他类调⽤的话可以按照下⾯⽅法.SQLBean sqlBean = new SQLBean();String[] params={};//如果有参数则写进去ResultSet rs = ("select ename from emp",params);//sql语句//循环取出try {while(()){n(ing(1));}} catch (SQLException e) {tackTrace();();//异常则关闭连接}();//关闭数据库连接2.事务的处理事务的处理,总是先取消⾃动提交,然后执⾏命令,最后提交,然后发⽣异常则回滚,⾄于怎么写成⼀个⽅法,暂时还没想到好办法import n;import .*;/*** Created by nl101 on 2016/1/29.*/public class test {public static void main(String[] args) {Connection conn = null;Statement ps =null;String driverName = "Driver";String url = "jdbc:oracle:thin:@localhost:1521:orcl";String userName = "SCOTT";String passWord = "7946521";try {e(driverName);conn = nection(url,userName,passWord);oCommit(false);//⾸先取消⾃动提交ps = Statement();ch("需要操作的语句1");ch("需要操作的语句2");ch("需要操作的语句3");ch("需要操作的语句4");eBatch();//提交上⾯的命令();//提交事务oCommit(true);//开启⾃动提交} catch (ClassNotFoundException e) {tackTrace();n("数据库链接异常");} catch (SQLException e) {tackTrace();n("事务处理异常");try {if (conn!=null){ck();//回滚操作oCommit(true);}} catch (SQLException e1) {tackTrace();}}finally {//最后关闭数据库try {if (rs != null) ();rs = null;if (ps != null) ();ps = null;if (conn != null) ();conn = null;} catch (SQLException e) {tackTrace();}}}}3.调⽤存储过程call = eCall("{call sp_pro4(?,?,?,?,?,?)}");//设置输⼊参数ing(1, "emp");(2, 4);(3, 1);//设置输出参数erOutParameter(4, );erOutParameter(5, );erOutParameter(6, );//执⾏e();//输出总数和总页数n("总记录数"+(4)+"--总页数"+(5));//循环取出表ResultSet rs = (ResultSet) ect(6);while(()){for (int i = 0; i < 7; i++) {(ing(i+1)+" ");}n();}4.可移动的结果集sun只是提供了接⼝.具体能不能操作,这个要看你引⽤的JDBC驱动是否⽀持import .*;public class TestScroll {public static void main(String args[]) {try {new Driver();String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";Connection conn = nection(url, "scott", "tiger");Statement stmt = Statement(_SCROLL_INSENSITIVE,//设置该rs可以滚动_READ_ONLY);//设置该rs为只读ResultSet rs = eQuery("select * from emp order by sal");();//正常下移⼀⾏n((1));();//指向最后⼀⾏n(ing(1));n(());n(rLast());n(());us();//上移⼀⾏n(ing(1));te(6);//该⽅法直接定位到⾏号n(ing(1));();();();} catch (SQLException e) {tackTrace();}}}5.可更新的结果集import .*;public class TestUpdataRs {public static void main(String args[]){try{new Driver();String url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";Connection conn=nection(url,"scott","tiger");Statement stmt=Statement(_SCROLL_INSENSITIVE,_UPDATABLE);ResultSet rs=eQuery("select * from emp2");();//更新⼀⾏数据String("ename","AAAA");Row();//插⼊新⾏InsertRow();Int(1, 9999);String("ename","AAAA");Int("mgr", 7839);Double("sal", 99.99);Row();//将光标移动到新建的⾏CurrentRow();//删除⾏te(5);Row();//取消更新//RowUpdates();}catch(SQLException e){tackTrace();}}}以上所述是⼩编给⼤家分享的Java连接Sql数据库经常⽤到的操作,希望对⼤家有所帮助。
2023年8月3日发(作者:)
java操作sql数据库_Java连接Sql数据库经常⽤到的操作废话不多说了,直接给⼤家分享java操作sql数据库常见的连接问题。1.连接,查询,更新,关闭这⼏个数据基础操作,所以放到⼀起,写成⼀个⼯具类的模式,也就是model2模式的sql⼯具.这⾥本想把其他操作都加进去,⽐如事务处理,但是⽬前还没想到⽐较完美的⽅法,具体看代码吧,注释很详细import .*;import or;import ;import ;/*** Created by nl101 on 2016/1/29.*/public class SQLBean {//初始化操作都写在前⾯Connection conn = null;PreparedStatement ps =null;ResultSet rs = null;String driverName = "Driver";String url = "jdbc:oracle:thin:@localhost:1521:orcl";String userName = "SCOTT";String passWord = "123456";/*** 初始化连接,获得conn*/public SQLBean(){try {e(driverName);conn = nection(url,userName,passWord);} catch (ClassNotFoundException e) {tackTrace();n("数据库链接异常");} catch (SQLException e) {tackTrace();n("数据库链接异常");}}/*处理事务的函数⽋缺*//*** 创建数据库更新函数* @param sql 对应的更新sql语句* @param params 需要附加的参数* @return true更新成功 false更新失败*/public boolean update(String sql,String[] params){int k = 0;try {ps = eStatement(sql);for (int i = 0; i < ; i++) {//这⾥是从1开始设置参数的ing(i+1,params[i]);}k = eUpdate();} catch (SQLException e) {tackTrace();n("数据库更新异常");}return k>0?true:false;}/*** 数据库查询函数* @param sql 要查询的qsl语句* @param params 附加参数* @return 查询结果集*/public ResultSet query(String sql,String[] params){try {ps = eStatement(sql);for (int i = 0; i < ; i++) {ing(i+1,params[i]);}rs = eQuery();} catch (SQLException e) {tackTrace();n("数据库查询异常");}return rs;}/*** 关闭数据库语句*/public void close(){try {if (rs!=null) (); rs = null;if (ps!=null) (); ps = null;if (conn!=null) (); conn = null;} catch (SQLException e) {tackTrace();}}}写成这样,其他类调⽤的话可以按照下⾯⽅法.SQLBean sqlBean = new SQLBean();String[] params={};//如果有参数则写进去ResultSet rs = ("select ename from emp",params);//sql语句//循环取出try {while(()){n(ing(1));}} catch (SQLException e) {tackTrace();();//异常则关闭连接}();//关闭数据库连接2.事务的处理事务的处理,总是先取消⾃动提交,然后执⾏命令,最后提交,然后发⽣异常则回滚,⾄于怎么写成⼀个⽅法,暂时还没想到好办法import n;import .*;/*** Created by nl101 on 2016/1/29.*/public class test {public static void main(String[] args) {Connection conn = null;Statement ps =null;String driverName = "Driver";String url = "jdbc:oracle:thin:@localhost:1521:orcl";String userName = "SCOTT";String passWord = "7946521";try {e(driverName);conn = nection(url,userName,passWord);oCommit(false);//⾸先取消⾃动提交ps = Statement();ch("需要操作的语句1");ch("需要操作的语句2");ch("需要操作的语句3");ch("需要操作的语句4");eBatch();//提交上⾯的命令();//提交事务oCommit(true);//开启⾃动提交} catch (ClassNotFoundException e) {tackTrace();n("数据库链接异常");} catch (SQLException e) {tackTrace();n("事务处理异常");try {if (conn!=null){ck();//回滚操作oCommit(true);}} catch (SQLException e1) {tackTrace();}}finally {//最后关闭数据库try {if (rs != null) ();rs = null;if (ps != null) ();ps = null;if (conn != null) ();conn = null;} catch (SQLException e) {tackTrace();}}}}3.调⽤存储过程call = eCall("{call sp_pro4(?,?,?,?,?,?)}");//设置输⼊参数ing(1, "emp");(2, 4);(3, 1);//设置输出参数erOutParameter(4, );erOutParameter(5, );erOutParameter(6, );//执⾏e();//输出总数和总页数n("总记录数"+(4)+"--总页数"+(5));//循环取出表ResultSet rs = (ResultSet) ect(6);while(()){for (int i = 0; i < 7; i++) {(ing(i+1)+" ");}n();}4.可移动的结果集sun只是提供了接⼝.具体能不能操作,这个要看你引⽤的JDBC驱动是否⽀持import .*;public class TestScroll {public static void main(String args[]) {try {new Driver();String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";Connection conn = nection(url, "scott", "tiger");Statement stmt = Statement(_SCROLL_INSENSITIVE,//设置该rs可以滚动_READ_ONLY);//设置该rs为只读ResultSet rs = eQuery("select * from emp order by sal");();//正常下移⼀⾏n((1));();//指向最后⼀⾏n(ing(1));n(());n(rLast());n(());us();//上移⼀⾏n(ing(1));te(6);//该⽅法直接定位到⾏号n(ing(1));();();();} catch (SQLException e) {tackTrace();}}}5.可更新的结果集import .*;public class TestUpdataRs {public static void main(String args[]){try{new Driver();String url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";Connection conn=nection(url,"scott","tiger");Statement stmt=Statement(_SCROLL_INSENSITIVE,_UPDATABLE);ResultSet rs=eQuery("select * from emp2");();//更新⼀⾏数据String("ename","AAAA");Row();//插⼊新⾏InsertRow();Int(1, 9999);String("ename","AAAA");Int("mgr", 7839);Double("sal", 99.99);Row();//将光标移动到新建的⾏CurrentRow();//删除⾏te(5);Row();//取消更新//RowUpdates();}catch(SQLException e){tackTrace();}}}以上所述是⼩编给⼤家分享的Java连接Sql数据库经常⽤到的操作,希望对⼤家有所帮助。
发布评论