笔记03-JDBC-预编译

  • 预处理
    Statement有sql注入问题,例如:select * from T_users where loginName = ‘"+loginName+"’ and userPwd = ‘’ or ‘1’ = '1’符合条件,这样就不需要判断。
  • PrepareStatement和Statement 区别
    1.PreparedStatement接口是Statement的子接口
    2.PrepareStatement 预编译可以防止sql注入问题,保证安全性
    3.PrepareStatement对象对于执行效率要比Statement执行效率高
  • 案例
    1.com.oracle.pojo
package com.oracle.pojo;

public class Users {
   
	//数据库---->实体类
	    private int userid;
	    private String loginname;
	    private String userpwd;
	    private String realname;
	    
		public int getUserid() {
   
			return userid;
		}
		public void setUserid(int userid) {
   
			this.userid = userid;
		}
		public String getLoginname() {
   
			return loginname;
		}
		public void setLoginname(String loginname) {
   
			this.loginname = loginname;
		}
		public String getUserpwd() {
   
			return userpwd;
		}
		public void setUserpwd(String userpwd) {
   
			this.userpwd = userpwd;
		}
		public String getRealname() {
   
			return realname;
		}
		public void setRealname(String realname) {
   
			this.realname = realname;
		}
		
		@Override
		public String toString() {
   
			return "Users [userid=" + userid + ", loginname=" + loginname + ", userpwd=" + userpwd + ", realname="
					+ realname + "]";
		}

}

2.com.oracle.util

package com.oracle.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBUtils {
   

	public static final String URL = "jdbc:mysql:///java210601?characterencoding = UTF8";
	public static final String USER = "root";
	public static final String PSSWORD = "root";
	
	static {
   
		try {
   
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
   
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	public static Connection getConnection(){
   
		Connection conn= null;
		try {
   
			conn = DriverManager.getConnection(URL, USER
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值