javawebjdbc连接mysql步骤_JavaWeb -JDBC使用(数据库-javaweb连接)

使用JDBC四个大类

1. DriverManager:管理jdbc驱动

2. Connection:连接(通过DriverManager产生)

3. Statement/PreparedStatement:增删改executeUpdate()查executeQuery()

CallableStatement调用数据库中 存储过程/存储函数 (皆通过Connection产生)

statement()方法:增删改executeUpdate()查executeQuery()

PreparedStatement(sql语句)方法:同上+setXXX(postion,value)

4. Resultset:返回到结果集  (通过Statement等产生)

方法:next():光标下移,判断是否有下一条数据:true/false

getXXX(字段名/位置):获取具体的字段值  XXX为int/String/...

Statement与PreparedStatement的区别:(推荐用PreparedStatement)

1. Statement:

SQL语句

executeUpdata(SQL)

2. PreparedStatement

sql(可能存在占位符‘?’)

在创建PreparedStatement对象时,将sql预编译PreparedStatement(sql)

executeUpdata()

setXXX(postion,value)  将sql中占位符?替换

JDBC访问数据库具体步骤

1. 导入驱动,加载具体驱动类

2. 与数据库建立链接

3. 发送sql语句,执行

4. 处理结果集合(查)

**补充:导入驱动和具体驱动类:

驱动jar(x为版本号)       具体驱动类                 连接字符串

Oracle     ojdbc-x.jar            oracle.jdbc.OracleDriver             jdbc:oracle:thin:@localhost:1521:ORCL

MySQL    mysql-connector-java-x.jar    com.mysql.jdbc.Driver                 jdbc:mysql://localhost:3306/数据库实例名

SQL server   sqljdbc-x.jar         com.microsoft.sqlserver.jdbc.SQLServerDriver  jdbc:microsoft:sqlserver:localhost:1433;databasename=数据库实例名

代码示例:

用java在数据库中增删改数据

packagejdbcproject;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;public classadd {//sql数据库连接字符串

private static final String URL="jdbc:sqlserver://localhost:1433;databasename=javatest";//sql用户名 和密码 用作连接用

private static final String USERNAME="sa";private static final String PWD="cc123nice";public static void update() throws ClassNotFoundException, SQLException {//增删改//导入驱动,加载具体驱动类

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//与数据库建立链接

Connection connection =DriverManager.getConnection(URL, USERNAME, PWD);//发送sql语句(增删改)

Statement stmt =connection.createStatement();//实现增删改

String sql="insert into test values('cc',13)";//String sql="update into test values('cd',13)";//String sql="delete table test";//返回增删改几条数据

int num =stmt.executeUpdate(sql);if(num>0)

System.out.println("操作成功");

stmt.close();

connection.close();

}public static voidmain(String[] args) {try{

update();

}catch (ClassNotFoundException |SQLException e) {

e.printStackTrace();

}

}

}

JavaBean

1. 将jsp中的java代码转移到src的一个类中 称之为javabean

2. 要求:

public修饰类 ,public 无参构造

所有属性(如果有)都是private,且提供get/set方法(如果boolean 则为is方法)

3. 优点:   减轻复杂度

提高复用率

封装业务逻辑 (相当于运用数据库的表)

封装数据  (对应于数据库的一张表)

代码示例:

三板块 Javabean /JSP/lib中包导入

ca3a656778980467d43f34b082cbdfca.png

1. first.logindao为JavaBean封装了sql语句(命名规范与数据库连接的类以dao结尾)

packagefirst;import java.sql.*;public classlogindao {//sql数据库连接字符串

private static final String URL="jdbc:sqlserver://localhost:1433;databasename=javatest";//sql用户名 和密码 用作连接用

private static final String USERNAME="sa";private static final String PWD="cc123nice";public intlogin(String name,String pws) {

Connection connection=null;

Statement stmt=null;

ResultSet rs=null;try{//导入驱动,加载具体驱动类

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//与数据库建立链接

connection =DriverManager.getConnection(URL, USERNAME, PWD);//发送sql语句(增删改)

stmt =connection.createStatement();

String sql="select count(*) from test where name='"+name+"' and pwd='"+pws+"'";

rs=stmt.executeQuery(sql);int count=-1;if(rs.next()) {

count= rs.getInt(1);

}returncount;

}catch(ClassNotFoundException e) {

e.printStackTrace();return -1;

}catch(SQLException e) {

e.printStackTrace();return -1;

}catch(Exception e) {

e.printStackTrace();return -1;

}

}

}

2. JSP中设置用户输入界面与跳转结果界面

--login.jsp

Insert title here

用户名:
密码:

--check.jsp

Insert title here

Stringname=request.getParameter("uname");String pwd=request.getParameter("upwd");logindao dao=newlogindao();

int result=dao.login(name,pwd);if(result>0)

out.print("登陆成功");

else if(result==0)

out.print("用户名/密码有误");

else

out.print("代码错误");

%>

3. 导入包-正常java文件导入包需要将包粘贴于根目录下,右键buildpath-》configure build path(如下图)

但对于javaweb项目中 若要导入包则只需放入lib文件夹下

c446df825b61985b3d08b40d31f50dbf.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值