sql函数设计:

一开始本来是直接用Java的jdbc直接传输操作语句的。但后来学了存储过程发现存储过程可以提高不少的效率。就重构了自己对数据库的操作代码。包括:开启,查找,修改,关闭。

开启:直接使用的构造函数,以后使用的时候可以直接把对象new成一个static的变量,可以一直使用,直到使用关闭函数。

具体操作(查(find),写(write),改(change)):编写的思路是现在mysql数据库里面实现函数和存储过程。

巨坑提示1,存储过程和函数的区别是,函数必须返回一个数据,return语句必须写,而存储过程可以返回,也可以不返回这个数据。

一开始我使用的是存储过程,实现find,但是,有个巨坑的东西(mysql的设计缺陷,那就是IN的变量,即存储过程名旁边的参数,不可以直接表示字段,巨坑,还要深入学习动态的sql才可以表示字段),然后我就多写了几个函数,每个函数实现不同字段的查询,比如,findbyemail函数就是通过where email(email是字段)=参数;实现查找。

然后为了让功能齐全,就设计了多个函数,比如findbyname,findbyphone这些函数存在数据库里。然后数据库编译好。等着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')

3

4 String sql = "{? = call writeuser(?,?,?,?,?)}";5

6 CallableStatement cs =connection.prepareCall(sql);7

8 cs.registerOutParameter(1,Types.CHAR);//这里实在规定你函数里面返回的数据类型9

10 cs.setString(2,name);//以下都是在向问号里面传递参数

11

12 cs.setString(3,phone);13

14 cs.setString(4,email);15

16 cs.setString(5,pwd);17

18 cs.setString(6,status);19

20 cs.execute();21

22 String value = cs.getString(1);23 if (value=="1"){24 cs.close();25 return "ok";26 }27 cs.close();28 return "no";29 }

这就是微学网-程序员之家为你提供的"web项目踩坑过程"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/8489.html

java 做项目踩坑,web项目踩坑过程相关推荐

  1. idea怎么给项目改名_IDEA相关配置【java项目改造成web项目】

    在平时写项目学习java的时候,有没有这么一种情况:我们一开始建立了一个普通的java项目,但是随着我们编码的进行,发现项目需要部署到Tomcat服务器上运行测试.此时有两种解决方案:[1]创建一个w ...

  2. Eclipse中怎样将java项目转化为web项目?

    Eclipse中怎样将java项目转化为web项目? 最近学习在Eclipse中如何将java文件转化为web文件,在此总结以下实践过程,供大家参考. 第一步:首先要在Eclipse中导入即将要执行的 ...

  3. 代码从svn到工作空间,Myeclipse中java项目转成Web项目

    从svn到工作空间 1.新建一个web项目 2.从svn覆盖刚新建的web项目 Myeclipse中java项目转成Web项目 在eclipse导入一个myeclipse建的web项目后,在Eclip ...

  4. Eclipse中将Java项目转换成Web项目的方法

    前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...

  5. 那些年做过的 .NET Web 项目和 iOS 之路的一些思考

    从2010年3月份出来工作到2015年初,做过的大大小小的 .NET Web 项目如下: (1)售楼系统产品    「Role: Team Member」 (2)中弘合同管理系统    「Role: ...

  6. eclipse项目如何变成web项目_Eclipse中将Java项目转换成Web项目的方法

    前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的标签,查看 ...

  7. java jvm bind解决_java web项目启动的时候JVM_Bind,真的是tomcat端口被占用了吗?tomcat不同意...

    java web项目启动的时候JVM_Bind,真的是tomcat端口被占用了吗?tomcat不同意了 凯哥Java 凯哥java 记录帮朋友解决JVM_Bind错误. java web项目启动的时候 ...

  8. 搭建java部署环境以及部署Web项目到Linux

    系列文章目录 Linux 环境搭建以及xshell远程连接_crazy_xieyi的博客-CSDN博客 Linux常用命令详解_crazy_xieyi的博客-CSDN博客 Linux权限_crazy_ ...

  9. java项目部署_Java Web 项目的部署步骤

    关于java web项目的部署有很多种,我就把最近使用的一种跟大家分享下: 项目部署的前期准备: 1.XXX.war file 2.Tomcat server 当以上两项都准备好后,我们就可以开始项目 ...

最新文章

  1. 感动!盲人计算机科学家研发语音浏览器,致力科技改善盲人生活
  2. ph获取xml文件信息
  3. 网络推广外包——网络推广外包指出新站上线前一定要做好自我检测
  4. 开课吧python课程-Python教父廖雪峰加入开课吧 打造技术品类黄金内容班底
  5. Vijos P1067Warcraft III 守望者的烦恼
  6. java端到端_Java应用程序性能监控:复杂分布式应用程序的端到端性能
  7. childactor movable
  8. c# vs2010 excel 上传oracle数据
  9. Spring Boot学习笔记:Spring Boot的Web功能
  10. 钱多多被立案侦查,曾多次因借款合同纠纷被起诉
  11. 淺談auto_ptr
  12. java 获取class的方法_[Java教程]Java反射定义、获取Class三种方法
  13. 详解高级前端面试常问的EventLoop
  14. 《结对-四则运算出题器-测试过程》
  15. 软件公司团队管理方法思考
  16. linux修改只读文件指令,linux修改文件权限
  17. 图像处理之图像去雾中文综述性论文
  18. RIS前言技术讲座系列
  19. Mac版微信内存飙升卡死解决办法
  20. Kerberos认证介绍及黄金票据和白银票据

热门文章

  1. 发布任务PHP源码,Thinkphp5新威客任务平台源码
  2. PHP鼠标滑过变色命令,WordPress鼠标悬停变色的修改方法
  3. 银行系统日终结算要多久_美股顽强翻红!两连跌终结,联储降息预期已超九成!制造业疲软消费者信心坚挺,三大股指又假摔?...
  4. android开发入门
  5. mysql 存储过程 set into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法...
  6. vue 生成发布包_年轻人如何从0到1封装发布一个vue组件__Vue.js
  7. Java开发神器Lombok使用详解
  8. ParameterizedType应用,利用java反射获取参数化类型的class实例
  9. h5活动是什么意思_深度|场景赋能H5,365天让保险线上拓客更广更容易
  10. 计算机等级的有关知识,计算机等级二级基础知识.doc