三种执行SQL语句的的JAVA代码
问题描述:
连接数据库,执行SQL语句是必不可少的,下面给出了三种执行不通SQL语句的方法。
1.简单的Statement执行SQL语句。有SQL注入,一般不使用。
public static void testStatement() throws Exception{
Statement stm = null;
ResultSet rs = null;
DataBaseConn con = new DataBaseConn();
try{
stm = con.getMssqlConn().createStatement();
rs = stm.executeQuery("select top 1 * from tfixitem");
if(rs.next()){
System.out.println("testStatement测试,FIXITEM_CODE = " + rs.getString("FIXITEM_CODE"));
}
con.closeCon();
}catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}
2.防止SQL注入的PreparedStatement执行SQL语句。
public static void testPreparedStatement(){
PreparedStatement pstm = null;
ResultSet rs = null;
DataBaseConn con = new DataBaseConn();
try{
pstm = con.getMssqlConn().prepareStatement("select * from tfixitem where fixitem_id = ?");
pstm.setInt(1, 2);
rs = pstm.executeQuery();
if(rs.next()){
System.out.println("testPreparedStatement测试,FIXITEM_CODE = " + rs.getString("FIXITEM_CODE"));
}
}catch(Exception e){
e.printStackTrace();
}
}
3.执行存储过程的CallableStatement执行存储过程SQL
public static void testCallableStatement(){
CallableStatement cstm = null;
ResultSet rs = null;
DataBaseConn con = new DataBaseConn();
try{
cstm = con.getMssqlConn().prepareCall("{call SP_QUERY_TFIXITEM(?,?,?,?,?,?,?,?)}");
cstm.setInt(1, 2);
cstm.setInt(2, 1);
cstm.setInt(3, 0);
cstm.setInt(4, 0);
cstm.setString(5, "");
cstm.setString(6, "");
cstm.setString(7, "");
cstm.setInt(8, 0);
rs = cstm.executeQuery();
if(rs.next()){
System.out.println("testCallableStatement测试,FIXITEM_CODE = " + rs.getString("FIXITEM_CODE"));
}
}catch(Exception e){
e.printStackTrace();
}
}
总结:执行简单SQL一般用preparedStatement,执行存储过程使用CallableStatement
三种执行SQL语句的的JAVA代码的更多相关文章
- power desinger 学习笔记三<批量执行sql语句>
使用sql脚本导入表结构,直接 附带表的 约束.列的注释.真的可以哦 sql语句如下: create table test01 ( ID VARCHAR2(10 ...
- 像写SQL语句一样写Java代码
@Data @AllArgsConstructor public class Trader { private final String name; private final String city ...
- 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集
character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...
- java/jsp执行sql语句的方式
首先给出sql驱动包 引入sql包 import java.sql.*;//java <%@ page import="java.sql.*"%>//jsp 连接mys ...
- 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)
一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...
- Shell脚本中执行sql语句操作mysql的5种方法【转】
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...
- java执行sql语句使用别名时显示Column '***' not found
java执行sql语句使用别名时显示Column '*' not found 在做一个小项目时遇到个问题,执行sql语句使用别名时总是报sql异常 Column '*' not found,折腾半天终 ...
- 加载映射文件几种方式和mapper接口注解执行sql语句
一.加载映射文件几种方式 二.mapper接口注解执行sql语句 就将xml中的sql语句放到注解的括号中就可以,一般只用于简单的sql语句合适:
- Jmeter(三十八)Jmeter Question 之 ‘批量执行SQL语句’
知识使我们变得玩世不恭,智慧使我们变得冷酷无情,我们思考的太多,感知太少,除了机器,我们更需要人性,除了智慧,我们需要仁慈和善良. ------出自查理卓别林的演讲 前面有提到Jmeter使用JDBC ...
随机推荐
- Spring Bean的加载
Spring加载bean的原则:不等bean创建完成就会将创建bean的ObjectFactory提早曝光加入到缓存中. 单例bean在Spring容器里只会创建一次,后续创建时会首先从缓存中获取 ...
- CSS3:radial-gradient,径向渐变的使用方法
语法 径向渐变不同于线性渐变,线性渐变是从“一个方向”向“另一个方向”的颜色渐变,而径向渐变是从“一个点”向四周的颜色渐变.其语法如下: background: radial-gradient(cen ...
- Python学习实践-----打印日历
使用python语言实现在控制台打印日历 输入年.月.日 输出对应日历,指定的日数输出为'--' 程序没有做严格的输入验证,故输入整数即可. 以下为没有优化的源码: print_calendar.py ...
- Dom探索之基础详解
认识DOM DOM级别 注::DOM 0级标准实际并不存在,只是历史坐标系的一个参照点而已,具体的说,它指IE4.0和Netscape Navigator4.0最初支持的DHTML. 节点类型 注:1 ...
- python学习1
1.由于win8的电脑上出现了0xc0000b错误不能解决,所以现在使用的是虚拟机中的Linux系统.安装过程见http://blog.csdn.net/yuzhongchun/article/det ...
- 初见SpringMVC
1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...
- webform Repeater重复器、地址栏传值、Response
Repeater: 重复器 <HeaderTemplate></HeaderTemplate> - 头模板:在循环开始时,其内容只会打印一遍 <ItemTemplate& ...
- php 7.0 新特性
php 7 主题是性能优化 SEO 之前版本:开发效率快,语言本身性能差 普通的php网站:IO密集型,瓶颈在mysql上,体现不出来php的性能劣势,在密集计算方面比C,C++,JAVA差几十倍甚 ...
- [LeetCode] Reverse Vowels of a String 翻转字符串中的元音字母
Write a function that takes a string as input and reverse only the vowels of a string. Example 1:Giv ...
- [LeetCode] Missing Number 丢失的数字
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missin ...