本文实例讲述了Java使用声明接口执行SQL语句操作的方法。分享给大家供大家参考,具体如下:
<强>声明执行SQL语句:强>
1。对数据库的曾删改操作时,使用<代码> stmt.executeUpdate (sql) 代码>,执行给SQL语定句,分别为<代码>插入代码>,<代码>更新代码>,<代码>删除代码>。
2。对数据库做查询时,直接使用<代码> stmt.executeQuery (sql)> 代码,返回结果可以为一个resultSet结果集。
首先做一些准备工作:
①对要进行操作的数据库表进行封装,比如说我的数据mydata中的aistu表,用AiMember.java进行封装,以便后面操作。具体如下:
包com.mysqltest.jdbc.model;/* * *定义一个模型 *成员模型 * @author AI_STU * */公开课AiMember { 私人字符串名称; 私人int id; 私人int年龄; 私人字符串邮件; 私人字符串电话; 私人双倍工资; 私人字符串riqi;/* * * alt + shift + s添加构造函数生成构造函数使用字段。 * @param名字 * @param id * @param年龄 * @param邮件 * @param电话 * @param工资 * @param riqi */公共AiMember(字符串名称,int id, int年龄,字符串的邮件,字符串电话,双工资,字符串riqi) { 超级(); this.name=名称; 这一点。id=id; 这一点。年龄=年龄; 这一点。电子邮件=电子邮件; 这一点。电话=电话; 这一点。工资=工资; 这一点。riqi=riqi; }//重构 公共AiMember (int id) { 超级(); 这一点。id=id; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共int getId () { 返回id; } 公共空间setId (int id) { 这一点。id=id; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 这一点。年龄=年龄; } 公共字符串getEmail () { 返回电子邮件; } 公共空间setEmail(字符串邮件){ 这一点。电子邮件=电子邮件; } 公共字符串getTel () { 返回电话; } 公共空间setTel(字符串tel) { 这一点。电话=电话; } 公共双getSalary () { 返回的薪水; } 公共空间setSalary(双倍工资){ 这一点。工资=工资; } 公共字符串getRiqi () { 返回riqi; } 公共空间setRiqi(字符串riqi) { 这一点。riqi=riqi; } } >之前②对连接MySQL数据库,和关闭连接方法进行封装,这里用DbUtil.java进行封装,具体如下:
包com.mysqltest.jdbc.modelComp; 公开课CompMember { 私人int id; 私人字符串名称; 私人int年龄; 私人双倍工资;/* * *构造函数1 * @param名字 * @param年龄 * @param工资 */公共CompMember(字符串名称,int年龄两倍工资){ 超级(); this.name=名称; 这一点。年龄=年龄; 这一点。工资=工资; }/* * *重载构造函数 * @param id * @param名字 * @param年龄 * @param工资 */公共CompMember (int id字符串名称,int年龄、双工资){ 超级(); 这一点。id=id; this.name=名称; 这一点。年龄=年龄; 这一点。工资=工资; }/* * *获取,设置方法 */公共int getId () { 返回id; } 公共空间setId (int id) { 这一点。id=id; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 这一点。年龄=年龄; } 公共双getSalary () { 返回的薪水; } 公共空间setSalary(双倍工资){ 这一点。工资=工资; } @Override/* * *改写toString,使得显示更好 */公共字符串toString () { 返回“[+ this.id +“]”+ this.name +”、“+ this.age +”、“+ this.salary; } } >之前准备工作做好了、下面开始使用声明接口执行sql语句来实现增删改:
①增:
包com.mysqltest.jdbc.two2; 进口java.sql.Connection; 进口java.sql.Statement; 进口com.mysqltest.jdbc.model.AiMember; 进口com.mysqltest.jdbc.util.DbUtil; 公开课Demo3 {/* * *添加成员到表中1 * @param名字 * @param id * @param年龄 * @param邮件 * @param电话 * @param工资 * @param riqi * @return * @throws例外 */@SuppressWarnings(未使用) 私有静态int addMember(字符串名称、int id, int年龄,字符串的邮件,电话,双工资,字符串riqi){抛出异常 DbUtil DbUtil=new DbUtil();//之前封装好了的 连接=dbUtil.getCon监狱();//获取数据库连接 字符串sql="插入aistu值(“+名字+”,“+身份证+”,“+年龄+”,“+电子邮件+”,“+电话+”,“+工资+”,“+ riqi +”)”;=声明支撑con.createStatement();//获取声明 int结果=stmt.executeUpdate (sql); dbUtil。关上(支撑,反对); 返回结果; }/* * *添加成员到表中2方法 * @param mem * @return * @throws例外 */私有静态int addMember2 (AiMember mem)抛出异常{//AiMember也是之前封装好了的//mem.getName (); DbUtil DbUtil=new DbUtil();//之前封装好了的 连接=dbUtil.getCon监狱();//获取数据库连接 字符串sql="插入aistu值(“+ mem.getName () +”“、“+ mem.getId () +”、“+”mem.getAge () + " ', ' " + mem.getEmail () +”“、”“+ mem.getTel () +”“、”“+ mem.getSalary () +”“、”“+ mem.getRiqi () + " ')”;=声明支撑con.createStatement();//获取声明 int结果=stmt.executeUpdate (sql); dbUtil。关上(支撑,反对); 返回结果; }//私有静态int addMenber2 () 公共静态void main (String [] args){抛出异常/*=addMember int结果(“刘翔”,4日,28日,“15 xliu@stu.edu.cn”、“13411957776”, 8000.00,“2015-09-10”); 如果结果==1){ System.out.println(“添加成功”); 其他}{ System.out.println(“添加失败”); }*///多行注释,ctrl + shift +/AiMember mem=new AiMember(“李娜”,6日,25日,“15 nli@stu.edu.cn”、“13411957775”, 8000.00,“2015-09-03”); int结果=addMember2 (mem); 如果结果==1){ System.out.println(“添加成功”); 其他}{ System.out.println(“添加失败”); } } }Java使用声明接口执行SQL语句操作实例分析