java drivername_jdbc:java数据库连接

1.导jar包

四大参数:

1.加载驱动类:Class.forName("com.mysql.jdbc.Driver");

2.url:jdbc:mysql://localhost:3306/数据库名 //jdbc:厂商名://子协议/数据库名

#mysql

#url=jdbc:mysql://localhost:3306/mydb?

useUnicode=true&characterEncoding=utf8

&useServerPrepStmts=true

&cachePrepStmts=true

&prepStmtCacheSize=50

&prepStmtCacheSqlLimit=300

#driverClassName=com.mysql.jdbc.Driver

#mssql

#driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver

#url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=mydb

#mssql jtds

#driverClassName=net.sourceforge.jtds.jdbc.Driver

#url=jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=mydb

#orcale

#driverClassName=oracle.jdbc.driver.OracleDriver

#url=jdbc:oracle:thin:@localhost:1521:mydb

#access

#driverClassName=sun.jdbc.odbc.JdbcOdbcDriver

#url=jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=mdb\\mydb.mdb

3.username:用户名

4password:密码

Connection conn = DriverManager.getConnection(url, user, password);

驱动类是java.sql.Driver的实现类

对数据库做增、删、改

1.通过connection对象创建Statement

2.Statement语句的发送器,它的功能就是向数据库发送sql语句

3.调用它的int executeUpdate(String sql),它可以发送DML,DDL,返回的事影响的行数

Statement st = conn.createStatement();

String sql = "insert into hasbend values(null,'小明')";

int r = st.executeUpdate(sql);

执行查询

1.通过connection对象创建Statement

2.Statement语句的发送器,它的功能就是向数据库发送sql语句

3.调用它的int executeQuery(String querysql),返回的是结果集;

Statement st = conn.createStatement();

ResultSet rs = st.executeQuery("select * from emp");//得到结果集

ResultSetMetaData rsmd = rs.getMetaData();//获取此 ResultSet 对象的列的编号、类型和属性。

for(int i = 1;i<=rsmd.getColumnCount();i++){// 返回此 ResultSet 对象中的列数。

System.out.print(rsmd.getColumnName(i)+"|");//获取指定列的名称。

}

while(rs.next()){

for(int i = 1;i<=rsmd.getColumnCount();i++){

System.out.print(rs.getString(i)+"|");//获取此 ResultSet 对象的当前行中指定列的值

}

System.out.println();

}

4.关闭资源,倒关

rs.close();

st.close();

conn.close();

规范化

preparedStatement

Statement的子接口

强大之处

防sql攻击

提高代码的可读性、可维护性

提高效率

preparedStatement的用法

如何得到preparedStatement对象

1.给出sql模板

2.调用Connection的preparedStatement(sql)方法;

3.调用preparedStatement的setXxx系列方法给sql模板中的?赋值

4.调用preparedStatement的executeQuery();或这executeUpdate()方法,但是它的方法都没有参数;

预处理的原理

服务器的工作

校验sql语句的语法

编译:一个与函数相似的东西

执行:调用函数

preparedStatement

前提:连接的数据库必须支持预处理,几乎没有不支持的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值