Java数据库访问技术
1、Java集合:
Collection Map
List: 位于 java.util包中。 Arraylist 顺序结构。Linkedlist 链表结构
// List<NewsClassify> list = new ArrayList<NewsClassify>();
// NewsClassify n1 = new NewsClassify();
// n1.setCreator("zhuxuekui");
// n1.setTitleName("i love you");
// n1.setNewsTypeId(1);
// n1.setCreateTime("11:20");
// list.add(n1);
//
// NewsClassManage nc = new NewsClassManage();
// nc.print(list);
2、当我们想在static main(string argc[]) 里面调用方法的时候
有两种实现方式:1、实例化,然后调用方法
2、直接在另一个类中定义 static 方法。
3、几个好用的快捷方式
Shift+ctrl + c 注销,再按一次切回来。
一些新建类的时候,我们完全可以通过eclipse工具化实现。
要强制转换的时候,我们可以鼠标点到那个上面,然后 点击 add cast to xxx, 进行强制转换。
4、典型的C/S模式
客户端 --- 应用服务器 --- 数据库
5、JDBC介绍
不同的数据库需要不同的驱动接口。负责连接不同的数据库。
Java应用程序
JDBC API
JDBC Driver Manager
JDBC驱动 JDBC驱动
Mysql access
JDBC分类:桥接,纯java驱动。
后面一种效率高,速度快。
API 应用程序接口 与数据库建立连接 、 执行sql语句 、 处理结果
(连接池 ,租赁的方式实现 , 只需要关闭一次)
JDBC工作模板:
先连接 connection
然后创建语句 create statement
然后调用语句 execute();
返回一个结果集 , 返回的多条数据返回到 ResultSet中去。
使用纯java驱动方式进行直连步骤
- 下载驱动
- 将驱动程序导入工程
- 编程实现
6、数据库的访问链接设置
需要确保客户端与服务器端的端口号一致,当修改完TCP/IP以后,需要重启服务,才会生效
端口号查询:
双击TCP/IP即可查询到,一般不用改,默认1433.
Win7 64位下连接 sqlserver 2008 R2
参考资料:
务必保证:
Sqlserver的服务开启,tcp/ip更改之后,需要重启sqlserver管理器。
如下图所示:
而且,务必保证sql server网络配置里面的SQLEXPRESS里面的ip端口号与下面的一致才行。
将IP ALL的TCP动态端口(默认1163)改为1433,不改也行,因为大部分人的习惯是用默认的1433,
在IP2已启用选择——是,确定。
同样的方法,开启客户端的TCP/IP,端口也为1433,如图:
客户端协议:
7、设置完之后,我们可通过JDBC代码链接数据库
用下面的代码进行连接数据库:
- String dbName = "NewsSystem";
- String passwrod = "123456";
- String userName = "sa";
- String url = "jdbc:sqlserver://localhost:1433;DatabaseName="+dbName;
- String sql = "select * from userInfo";
- try {
- // Class.forName(driver);
- Connection conn = DriverManager.getConnection(url, userName,
- passwrod);
- PreparedStatement ps = conn.prepareStatement(sql);//可提供运行效率
- ResultSet rs = ps.executeQuery();
- while (rs.next()) {
- System.out.println("id : " + rs.getInt(1) + " name : "
- + rs.getString(2) + " password : " + rs.getString(3));
- }
- // 关闭记录集
- if (rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- // 关闭声明
- if (ps != null) {
- try {
- ps.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- // 关闭链接对象
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
显示如下: