在网站添加邮箱wordpress 原图查看
在网站添加邮箱,wordpress 原图查看,南安网站定制,腾讯云域名注册SQL语句常用方法及步骤 一、sql七步曲1.七步曲2.DVD数据库中的表的设计详情#xff1a; 二、增三、删四、改五、查六、方法优化1--非查找七、方法优化2--查找总结 一、sql七步曲
1.七步曲
1.手动加载数据库驱动类 2.获得数据库连接对象 3.写sql语句 4.获得执行对象 5.执行命… SQL语句常用方法及步骤 一、sql七步曲1.七步曲2.DVD数据库中的表的设计详情 二、增三、删四、改五、查六、方法优化1--非查找七、方法优化2--查找总结 一、sql七步曲
1.七步曲
1.手动加载数据库驱动类 2.获得数据库连接对象 3.写sql语句 4.获得执行对象 5.执行命令同时获得结果 6.处理结果 7.关闭资源
2.DVD数据库中的表的设计详情 二、增
以DVD为例向表中新增一个DVD对象
public static void addDVD() throws ClassNotFoundException, SQLException {Scanner input new Scanner(System.in);//1.手动加载数据库驱动类Class.forName(com.mysql.cj.jdbc.Driver);//2.建立数据库连接String username root;String password root;String url jdbc:mysql://localhost:3306/jr?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue;Connection con DriverManager.getConnection(url,username,password);//3.写sql语句String sql insert into dvd(name,state,money,count)value (?,可借,?,0);//4.获得执行对象PreparedStatement ps con.prepareStatement(sql);System.out.println(请输入新增DVD的名称);String name input.next();System.out.println(请输入新增DVD的日租金);double money input.nextDouble();ps.setString(1,name); //设置sql语句中的的值12是指在sql语句中的第几个问号后面的就是对应的值ps.setDouble(2,money);//5.执行sql语句并获取结果i为表中有变动的数量例如这个新增那在表中会多出来一行数据有变动的数量就是1int i ps.executeUpdate();//6.处理结果if (i 1){System.out.println(添加成功);}else{System.out.println(添加失败);}//7.关闭连接源和IO流关闭原则一样先开的后关ps.close();con.close();}三、删
以DVD为例对表进行一个删除其中DVD对象的操作
public static void delDVD() throws SQLException, ClassNotFoundException {Scanner input new Scanner(System.in);//1.手动加载数据库驱动类Class.forName(com.mysql.cj.jdbc.Driver);//2.获得数据库连接对象String username root;String password root;String url jdbc:mysql://localhost:3306/jr?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue;Connection con DriverManager.getConnection(url,username,password);//3.写sql语句String sql delete from dvd where name?;//4.获得执行对象PreparedStatement ps con.prepareStatement(sql);System.out.println(请输入要删除DVD的名字);String name input.next();ps.setString(1,name);//5.执行命令同时获得结果int i ps.executeUpdate();//6.处理结果if (i 0){System.out.println(删除DVD成功);}else{System.out.println(删除DVD失败);}//7.关闭资源ps.close();con.close();}四、改
以DVD为例向表中修改一个DVD对象的数据
public static void update() throws ClassNotFoundException, SQLException {Scanner input new Scanner(System.in);//1.手动加载数据库驱动类Class.forName(com.mysql.cj.jdbc.Driver);//2.获得数据库连接对象String username root;String password root;String url jdbc:mysql://localhost:3306/jr?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue;Connection con DriverManager.getConnection(url,username,password);//3.写sql语句String sql update dvd set state ?,lendDate ?,count count1 where name ?;System.out.println(请输入要修改的DVD名称);String name input.next();System.out.println(请输入修改后的状态);String state input.next();System.out.println(请输入修改后的时间);String date input.next();//4.获得执行对象PreparedStatement ps con.prepareStatement(sql);ps.setString(1,state);ps.setString(2,date);ps.setString(3,name);//5.执行命令同时获得结果int i ps.executeUpdate();//6.处理结果if (i 0){System.out.println(修改成功);}else{System.out.println(修改失败);}//7.关闭资源ps.close();con.close();}五、查
以DVD为例对表进行一个查看的操作
public static void getDt() throws SQLException, ClassNotFoundException {//1.手动加载数据库驱动类Class.forName(com.mysql.cj.jdbc.Driver);//2.建立与数据库的连接String username root;String password root;String url jdbc:mysql://localhost:3306/jr?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue;Connection con DriverManager.getConnection(url,username,password);System.out.println(con);//3.写sql语句String sql select * from dvd;//4.获得执行对象PreparedStatement ps con.prepareStatement(sql);//5.执行sql命令 同时获得结果ResultSet rs ps.executeQuery();//6.处理结果System.out.println(编号\t名称\t状态\t租金\t借出日期\t借出次数);while (rs.next()){System.out.println(rs.getInt(id) ; rs.getString(2) ; rs.getString(3) ; rs.getDouble(4) ; rs.getString(5) ; rs.getInt(6));}//7.关闭所有连接资源rs.close();ps.close();con.close();}六、方法优化1–非查找
在上面的操作过程中我们可以看到其中只有sql语句不同和结果处理需要差异化其他的都大致相同那么我们将不含有rs对象的也就是不进行查找的几种方法整合一下提取出一个通用的方法
//非查看操作的方法public int fckSQL(Object... objects) throws ClassNotFoundException, SQLException {//利用可变参数控制传入的数据根据具体情况具体分析要传入几个参数因为参数类型不一致所以使用了object类型//传入的第一条数据为sql语句//1.手动加载数据库驱动类Class.forName(com.mysql.cj.jdbc.Driver);//2.获得数据库连接对象String username root;String password root;String url jdbc:mysql://localhost:3306/jr?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue;Connection con DriverManager.getConnection(url,username,password);//3.写sql语句String sql (String) objects[0];//这里使用了可变参的第一个参数sql语句//4.获得执行对象PreparedStatement ps con.prepareStatement(sql);for (int i 1;i objects.length;i){ //通过一个循环对sql语句中的进行赋值ps.setObject(i,objects[i]);}//5.执行sql语句并获取结果int i ps.executeUpdate();//6.把结果返回出去差异化处理//7.关闭资源ps.close();con.close();return i;//最后根据返回到手里的i进行差异化结果处理}以DVD为例使用优化后的新增方法代码如下
public void add() throws SQLException, ClassNotFoundException {String sql insert into dvd(name,state,money,count)value (?,可借,?,0);System.out.println(请输入新增DVD的名称);String name input.next();System.out.println(请输入新增DVD的日租金);double money input.nextDouble();int i fckSQL(sql,name,money);//6.处理结果if (i 0){System.out.println(添加成功);}else{System.out.println(添加失败);}}这样我们的代码非常简洁只需要短短几行就代替了七步曲 七、方法优化2–查找
在我们开过日常中往往有进行筛选查找的操作不会直接操作表是将筛选完的结果放入集合中再操作集合这里我就用其中一种方法演示一下这种优化的思路
//查找符合条件的放入集合public ArrayListdvdEntry ckSQL(Object... objects) throws ClassNotFoundException, SQLException {//返回值类型是一个集合泛型是自己定义的一个类与表的设计模式中的属性一致的类ArrayListdvdEntry list new ArrayList();//1.手动加载数据库驱动类Class.forName(com.mysql.cj.jdbc.Driver);//2.获得数据库连接对象String username root;String password root;String url jdbc:mysql://localhost:3306/jr?useSSLfalseuseUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue;Connection con DriverManager.getConnection(url,username,password);//3.写sql语句String sql (String) objects[0];//4.获得执行对象PreparedStatement ps con.prepareStatement(sql);for (int i 1;i objects.length;i){ps.setObject(i,objects[i]);}//5.执行sql命令 同时获得结果ResultSet rs ps.executeQuery();//6.处理结果while (rs.next()){list.add(new dvdEntry(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getDouble(4),rs.getString(5),rs.getInt(6)));}//7.关闭资源rs.close();ps.close();con.close();return list;}直接用例子体会一下 以DVD为例使用优化后的查看方法代码如下
public void see() throws SQLException, ClassNotFoundException{String sql select * from dvd;ArrayListdvdEntry list ckSQL(sql);ListIterator lit list.listIterator();while (lit.hasNext()){System.out.println(lit.next().toString());}}总结
以上的内容就是数据库中的增删改查以及提取出的通用方法在开发过程中注意灵活使用有了通用方法之后只需要记住sql语句就好了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86939.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!