t恤定制网站哪个好,京津冀协同发展图片,企业wordpress主题下载,单位网站建设和维护sql函数设计#xff1a;一开始本来是直接用Java的jdbc直接传输操作语句的。但后来学了存储过程发现存储过程可以提高不少的效率。就重构了自己对数据库的操作代码。包括#xff1a;开启#xff0c;查找#xff0c;修改#xff0c;关闭。开启#xff1a;直接使用的构造函数…sql函数设计一开始本来是直接用Java的jdbc直接传输操作语句的。但后来学了存储过程发现存储过程可以提高不少的效率。就重构了自己对数据库的操作代码。包括开启查找修改关闭。开启直接使用的构造函数以后使用的时候可以直接把对象new成一个static的变量可以一直使用直到使用关闭函数。具体操作(查(find)写(write)改(change))编写的思路是现在mysql数据库里面实现函数和存储过程。巨坑提示1存储过程和函数的区别是函数必须返回一个数据return语句必须写而存储过程可以返回也可以不返回这个数据。一开始我使用的是存储过程实现find但是有个巨坑的东西(mysql的设计缺陷那就是IN的变量即存储过程名旁边的参数不可以直接表示字段巨坑还要深入学习动态的sql才可以表示字段)然后我就多写了几个函数每个函数实现不同字段的查询比如findbyemail函数就是通过where email(email是字段)参数实现查找。然后为了让功能齐全就设计了多个函数比如findbynamefindbyphone这些函数存在数据库里。然后数据库编译好。等着Java直接调用(这里比较方便的就是我们的调用直接用的是调用语句 {call 函数名()}这里的问号是指的你的参数。也意味着你的存储过程或者函数有多少参数就必须用多少个问号然后发送给数据库。性能提高不少) 巨坑提示2在发送调用存储过程的sql语句的过程中有可能会出现引号()解析错位的尴尬错误而且我还没办法纠正。比如writeuser存储过程发送过去的语句被解析错了就是引号错位。卡了我一上午的时间。然后就使用的函数放弃使用存储过程。性能影响比较小。还可以返回一个数据可以判断一下。比如我的writeuser函数我可以这样写就不会出现这样尴尬的错误了string sql “{call writeuser()}”1 public String WriteUser(String name,String phone,String email,String pwd,String status) throwsSQLException {2 //使用方法比如写入用户数据name,phone,email,pwd,status,我们可以这样写write(张三,110,[email protected],999,1)34 String sql {? call writeuser(?,?,?,?,?)};56 CallableStatement cs connection.prepareCall(sql);78 cs.registerOutParameter(1,Types.CHAR);//这里实在规定你函数里面返回的数据类型910 cs.setString(2,name);//以下都是在向问号里面传递参数1112 cs.setString(3,phone);1314 cs.setString(4,email);1516 cs.setString(5,pwd);1718 cs.setString(6,status);1920 cs.execute();2122 String value cs.getString(1);23 if (value1){24 cs.close();25 return ok;26 }27 cs.close();28 return no;29 }这就是微学网-程序员之家为你提供的web项目踩坑过程希望对你有所帮助.本文来自网络转载请注明出处http://www.weixuecn.cn/article/8489.html