JDBC
JDBC是java数据库连接技术的简称,提供连接各种常用数据库的能力
JDBC APIJDBC API可做的三件事:与数据库建立连接、执行SQL语句、处理结果。分为4步:1.加载驱动,DriverManager:依据数据库的不同,管理JDBC2.连接数据库,Connection:负责连接数据库并担任传送数据的任务3.执行sql语句,Statement:由Connection产生、负责执行SQL语句4.获取结果集,ResultSet:负责保存Statement执行后所产生的查询结果package com.jredu.dao.impl;import java.sql.*;import com.jredu.dao.UserDao;import com.jredu.entity.User;
public class UserDaoImpl implements UserDao {//1.加载驱动//2.建立连接private Connection connection;//3.执行sql语句private PreparedStatement ps;//private Statement st;//4.获取结果集private ResultSet rs;public UserDaoImpl() {// TODO Auto-generated constructor stubtry {//1.加载驱动Class.forName("oracle.jdbc.driver.OracleDriver");//2.建立连接:url(数据库地址),username,passwordconnection=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:jredu","project1","Jredu12345");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Overridepublic User findUser(User user) {// TODO Auto-generated method stub//访问数据库,查找是否存在该用户//3.执行sql语句try {//st=connection.createStatement();//st.execute("select * from users where uname='"+user.getUname()+"' and pwd='"+user.getPwd()+"'");ps=connection.prepareStatement("select * from users where uname=? and pwd=?");ps.setString(1, user.getUname());ps.setString(2, user.getPwd());//4.获取结果集rs=ps.executeQuery();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {//登录成功if (rs.next()) {//把结果集转换成实体类user.setUname(rs.getString("uname"));user.setPwd(rs.getString("pwd"));user.setId(rs.getInt("id"));user.setSex(rs.getString("sex"));user.setEmail(rs.getString("email"));return user;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}}