JAVA连接数据库代码

##封装JDBC登录信息properties代码

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql:///demo
username=root
password=1234

##封装java链接数据库(SQL)代码

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.Goods;
import utils.JDBCUtils;

@SuppressWarnings("all")
@WebServlet("/queryGoods")
public class QueryGoodsServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws 
ServletException, IOException {
//赋值
	Connection conn = null;
	PreparedStatement stmt = null;
	ResultSet rs = null;

查询代码

	/*
	try {
		// 获取连接
		conn = JDBCUtils.getConnection();
		
		// 书写SQL
		stmt = conn.prepareStatement("select * from goods");
		
		rs = stmt.executeQuery();
		
		List<Goods> gList = new ArrayList<Goods>();
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	//遍历把数据存放到数组中 然后遍历输出
		while ( rs.next() ) {
			String date = rs.getString("createtime");
			Date createtime = sdf.parse(date);
			Goods goods = new Goods(rs.getInt("id"),
					rs.getString("name"), 
					rs.getDouble("marketprice"), 
					rs.getDouble("estoreprice"),
					rs.getString("cid"),
					rs.getInt("num"), 
					rs.getString("imgurl"), 
					rs.getInt("ishot"), 
					rs.getInt("status"), 
					createtime, 
					rs.getString("description"));
			gList.add(goods);
		}
// 将数据保存到request作用域中,仅在当次请求有效
		request.setAttribute("gList", gList);
		
		// 跳转(转发、重定向)到goods.jsp
		request.getRequestDispatcher("/goods.jsp").forward(request, response);
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		JDBCUtils.release(rs, stmt, conn);
	}
}
}

防止SQL注入 获取用户信息

	try {
		// 获取连接
		conn = JDBCUtils.getConnection();
		// 书写SQL
		String sql = "select * from user where username=? and password=?";
		stmt = conn.prepareStatement(sql);
		// 设置参数
		stmt.setString(1, username);
		stmt.setString(2, password);
		// 发送SQL
		rs = stmt.executeQuery();
		// 判断对错
		if ( rs.next() ) {// 正确
			
			// 判断是否勾选了记住用户名复选框
			// 表单在提交时,如果复选框和单选按钮没有选中,则表单不会提交值,则获取的结果为null
			String remember = request.getParameter("remember");
			if ( remember != null ) {
				// "张三" ===> %E5%BC%A0%E4%B8%89
				username = URLEncoder.encode(username, "UTF-8");
				Cookie c = new Cookie("username", username);
				// 设置生存时间
				c.setMaxAge(Integer.MAX_VALUE);
				c.setPath(request.getContextPath());
				response.addCookie(c);
			}
			// 取消记住用户名:删除cookie中的用户名
			else {
				Cookie c = new Cookie("username", null);
				// 设置生存时间
				c.setMaxAge(0);
				c.setPath(request.getContextPath());
				response.addCookie(c);
			}
			// request.getContextPath():  /web36
			response.sendRedirect(request.getContextPath() + "/index.html");
		}
		// err
		else {
			//response.sendRedirect(request.getContextPath() + "/err.html");
			response.setContentType("text/html; charset=UTF-8");
			response.getWriter().write("<script>alert('用户名或密码错误!');history.go(-1);</script>");
		}
} catch (Exception e) {
		e.printStackTrace();
	} finally {
		JDBCUtils.release(rs, stmt, conn);
	}
}
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值