时间:2021-07-01 10:21:17 帮助过:1人阅读
3. jdbc使用 驱动
jdbc全称是什么?
Java DataBase Connectivity
即是java的数据库连接 建立
那么所需3个方面
1> 建立的链接 对象 Connection connection
2> 建立的预编译 statement声明 对象 PreparedStatement preparedStatement
3>查询到的结果集对象 ResultSet resultSet
接下来是 如何使用 jdbc 进行数据库链接 和操作的过程
1> 加载驱动 Class.forname(com.mysql.jdbc.Driver);
在驱动包中找到 Driver.class文件 copy qualifiedname 即可
2>为链接connection 赋值url+端口
conneciton = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","test","");
格式为 jdbc:数据库类型名://地址:端口/数据库名 username userpassword
3>定义 所要执行的sql语句 是什么
String sql ="select * from user where username = ? and id= ?"
站位符 "?" 的作用即是 保留字段 由待会的提交 值保存
preparedStatement.setString(index,"value");
第一个是第几个问号 第二个是存入值
实际上 替代? 的形式 ‘value‘ 所以显然不能替代 一些如 column 的属性名
4> 执行这个预编译 返回结果集
resultSet = preparedStatement.executeQuerry();
结果集中输入相应 column属性 即可获得查询值
resultSet.getstring("id")
5>释放资源
顺序倒过来: resultSet.close() preparedStatement.close() connection.close()
4. 原生态jdbc问题 :
1> 数据库连接, 使用时创建 不使用立即释放,对数据库频繁连接 和关闭, 造成数据资源浪费 影响数据库性能
何解——> 数据库连接池
2> sql语句在java代码中, 这是硬编码的方式, 如果sql语句修改,需要重新编译java代码,
preparedStatement 中设置参数,同样硬编码在java代码中
何解——> SQL语句、占位符等变量 放在xml文件中配置
3> 结果集中 resultSet 依然是硬编码 获取表的字段
何解——> 将查询的结果集 自动映射为java对象
2016.5.23 Mybatis 框架(二) 原生态jdbc程序 问题总结
标签: