代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
sql防注入的登录注册
作者:
松子
/ 发布于
2016/3/15
/
732
适用于JDK1.6以上的没有eclipse和myeclipse的Windows和linux的系统都可以运行。
package cn.itcast.jdbctools; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ResourceBundle; import cn.itcast.checkedIn.Dept; public class jdbcUtils1 { public static final String DRIVERNAME;//读取的properties的键值对的值 (动态修改)properties的服务器的配置文件 public static final String USERNAME;//读取的properties的键值对的值 (动态修改)properties的服务器的配置文件 public static final String PASSWORD;//读取的properties的键值对的值 (动态修改)properties的服务器的配置文件 public static final String URL;//读取的properties的键值对的值 (动态修改)properties的服务器的配置文件 public static Connection con=null;//连接对象初始化 public static PreparedStatement sta=null;//创建对象初始化 public static ResultSet rs=null;//结果集初始化 static{ //这些值的配置 不能加载多次 只用加载一次并且这些值都是常量 DRIVERNAME=ResourceBundle.getBundle("abc").getString("DriverClass"); USERNAME=ResourceBundle.getBundle("abc").getString("Username"); PASSWORD=ResourceBundle.getBundle("abc").getString("Password"); URL=ResourceBundle.getBundle("abc").getString("Url"); } static{ try { //加载一次注册驱动 Class.forName(DRIVERNAME); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static com.mysql.jdbc.Connection getConnection() throws Exception{ //初始化对象的值 com.mysql.jdbc.Connection con=null; con=(com.mysql.jdbc.Connection) DriverManager.getConnection(URL, USERNAME, PASSWORD); return con;//返回该类的对象 } //释放资源 public static void close() throws Exception{ if(sta!=null){ sta.close(); } if(con!=null){ con.close(); } if(rs!=null){ rs.close(); } } } import java.util.Scanner; public class Test { public static void main(String[] args) throws Exception { System.out.println("请输入deptId:"); Scanner scanner = new Scanner(System.in); int deptId=scanner.nextInt(); System.out.println("请输入address:"); Scanner scan = new Scanner(System.in); String address=scan.nextLine(); jdbcLinked jdbc=new jdbcLinked(); Dept dept = jdbc.checkedIn(deptId, address);//传递参数 进行搜索数据库 if(dept!=null){ System.out.println("登录成功!"); System.out.println(dept); }else{ System.out.println("登录失败!"); System.out.println(dept); } } } jdbcLinked.java package cn.itcast.checkedIn; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import org.omg.CORBA.PUBLIC_MEMBER; import cn.itcast.jdbctools.jdbcUtils1; import com.mysql.jdbc.Connection; public class jdbcLinked {//jdbc的驱动就是 public static Dept dept=null; //初始化dept的对象值 public static Connection con=null; public static PreparedStatement sta=null; public static ResultSet rs=null; public static Dept checkedIn(int deptId,String address) throws Exception{ //创建连接对象 Connection con=jdbcUtils1.getConnection(); //创建数据库操作对象 String sql="select * from dept where deptId=? and address=?"; //执行操作语句防止sql注入 PreparedStatement sta = con.prepareStatement(sql); //给数据库字段设置初始值 sta.setInt(1, deptId); sta.setString(2, address); ResultSet rs = sta.executeQuery(); //得到了就封装成一个对象 while(rs.next()){ dept=new Dept(); dept.setDeptId(rs.getInt("deptId")); dept.setAddress(rs.getString("address")); jdbcUtils1.close();//释放资源 } return dept;//最后返回一个对象 } } Dept.java package cn.itcast.checkedIn; public class Dept { //基本类中就是获取了数据库中相应的字段 public int deptId;//设置部门编号 public String address;//设置部门中地址 //下面的成员变量就是一个设置值或者封装成一个对象 public int getDeptId() { return deptId; } public void setDeptId(int deptId) { this.deptId = deptId; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Dept [deptId=" + deptId + ", address=" + address + "]"; } }
试试其它关键字
防注入
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
松子
贡献的其它代码
(
11
)
.
实现队列的操作
.
将一个分隔符字符串转换为一个表
.
获取指定目录下的所有文件列表
.
点击图片,调用上传控件
.
Ruby线程实现经典的生产者消费者问题
.
直接解析某 URL 对应的 HTML
.
jQuery 表格特效:控制单元格折叠、展开代码
.
线性方程组(gauss)
.
网页BOM编码去除
.
sql防注入的登录注册
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3