JDBC分析
一、四步连接数据库:
1、数据创建
private static String url="jdbc:mysql://localhost:3306/DBname"
private String username="root";
private String password="123456";
2、加载驱动:
Class.forName("com.mysql.jdbc.Driver");
3、创建连接对象:
Connection con=DriverManager.getConnection(url, username,password);
4、创建StateMent对象
Statement stmt=con.createStatement();
二、数据库语句的拼接使用
1、String sql="select * from user where username=' "+username+" ' and
password=' "+password+" ' ";
ResultSet rs=stmt.executeQuery(sql);
三、预编译数据库语句
1、采用PrepareStatement来申明stmt;
PreparedStatement ps=con.prepareStatement
(sql,Statement.RETURN_GENERATED_KEYS);
2、不采用拼接的SQL语句
String sql="insert into user(username,password,nick_name,qq)"+"values
(?,?,?,?)";
3、为?传值
ps.setString(1, "zhangwei");
ps.setString(2, "123");
ps.setString(3, "焰");
ps.setString(4, "12345678");
ps.addBatch();
4、执行SQL语句
ps.executeBatch();或者ps.executeQuery();//不能带有参数
5、获取getGeneratedKeys的值(主键值)
ResultSet key=ps2.getGeneratedKeys();
取得ResultSet结果集中的值
while(key.next()){
String id=key.getInt(1);//我的主键为表的ID
}
四、事物的使用,一般来说数据库语句有一句就执行一句,但是有的情况下,当一个
SQL语句出现异常的时候,其他的SQL语句就都要撤销操作,这时候我们就可
以使用事物来处理这种情况,这里面包含对SavePoint的使用。
1、两段正确的数据库语句
String sql="insert into user(username,password,nick_name,qq)"+"values
(?,?,?,?)";
PreparedStatement ps=con.prepareStatement
(sql,Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "zhangwei");
ps.setString(2, "123");
ps.setString(3, "焰");
ps.setString(4, "12345678");
ps.addBatch();
ps.executeBatch();
String SQL="insert into user(username,password,nick_name,qq)"+"values
(?,?,?,?)";
PreparedStatement ps1=con.prepareStatement(SQL,
Statement.RETURN_GENERATED_KEYS);
ps1.setString(1, "zhang");
ps1.setString(2, "123");
ps1.setString(3, "xuan");
ps1.setString(4, "12345678");
ps1.addBatch();
ps1.executeBatch();
Savepoint aaa=con.setSavepoint("aaa");//设置保存节点
2、一条错误的SQL语句
String SQL2="insert into users(username,password,nick_name,qq)"+"values
(?,?,?,?)";
PreparedStatement ps2=con.prepareStatement(SQL,
Statement.RETURN_GENERATED_KEYS);
ps2.setString(1, "zhang");
ps2.setString(2, "123");
ps2.setString(3, "xuan");
ps2.setString(4, "12345678");
ps2.addBatch();
try{
ps2.executeQuery();
ResultSet key=ps2.getGeneratedKeys();
if(key.next())
System.out.println("key="+key.getInt(1));
}catch(SQLException f){
System.out.println("bbbb");
con.rollback(aaa);//回滚
}
3、con.commit();//全局提交
4、采用这种方法在创建连接的时候得设置
con.setAutoCommit(false);
不然一旦执行SQL语句就会自动提交
相关推荐
JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单...
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): DataSource:数据源 DriverManager:驱动管理 Driver:JDBC驱动 Connection:数据库连接 Statement:语句,执行SQL PrepareStatement:...
赠送jar包:sqlite-jdbc-3.15.1.jar; 赠送原API文档:sqlite-jdbc-3.15.1-javadoc.jar; 赠送源代码:sqlite-jdbc-3.15.1-sources.jar; 赠送Maven依赖信息文件:sqlite-jdbc-3.15.1.pom; 包含翻译后的API文档:...
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14.jar dm_jdbc\Dm7JdbcDriver15.jar dm_jdbc\Dm7JdbcDriver16....
赠送jar包:sqlite-jdbc-3.34.0.jar; 赠送原API文档:sqlite-jdbc-3.34.0-javadoc.jar; 赠送源代码:sqlite-jdbc-3.34.0-sources.jar; 赠送Maven依赖信息文件:sqlite-jdbc-3.34.0.pom; 包含翻译后的API文档:...
1、在应用中jdbc url最前面添加jdbc:log4;比如oracle的url就变成了jdbc:log4jdbc:oracle:thin:@x.x.x.x:1521:dbname; 2、在日志系统中设置jdbc.sqlonly、jdbc.sqltiming等日志级别,可直接将log4jdbc doc中的日志...
jdbc jdbc jdbc jdbc jdbc jdbc jdbc jdbc
它属于 Type 4 JDBC 驱动程序,通过 Java 平台(企业版 5、6 和 7)中可用的标准 JDBC 应用程序接口 (API) 提供数据连接。 适用于 SQL Server 的 Microsoft JDBC Driver 4.1(预览版)与 JDBC 4.0 兼容,并且可以在...
sqljdbc.jar 类库提供对 JDBC 3.0 的支持。 sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。 注意: JDBC Driver 2.0 不支持 JRE 1.4。...
SUN JDK 1.6/1.7 64bit的JDBC-ODBC Bridge有个缺陷:会随机抛出异常如下,在所有的ODBC Driver上。 java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length at sun.jdbc.odbc....
hive-jdbc
sqlserver驱动包 jdbc驱动 sqljdbc.jar sqljdbc4.jar jdbc连接sqlserver数据库驱动, sqljdbc.jar和sqljdbc4.jar均有
SQL Server JDBC Driver 3.0,这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 及更高版本中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 系统要求: •支持的操作系统:...
Microsoft SQL Server JDBC Driver 3.0.JSP驱动。
现在的数据层的开发,大多会使用...但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活,性能更高。由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: ...
JDBC 解析JDBC中文API各种数据库之间的链接问题,网络编程
./logstash-plugin prepare-offline-pack --overwrite --output logstash-input-jdbc.zip logstash-input-jdbc 最后成功会出现以下信息 You can install it with this command `bin/logstash-plugin install file...
JDBC代码 JDBC代码JDBC代码 JDBC代码
JavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源...
《数据库系统概论》课程之实验八,通过JDBC访问数据库。本文件中包含实验报告一份,可运行代码一份与JDBC的驱动jar包。 程序实现了使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,...