JDBC编程初探

马上期末了,要实训java+sql server了,我就先预习了下。

不想用sql server,就选择了开源的MySQL,不知道老师会不会打死我。。。

环境准备

JDK的安装我就不写了

tomcat

下载地址

我这里使用的tomcat8,tomcat9发现eclipse支持还不完善,下载解压即安装。

环境变量配置:

CATALINA_HOME

tomcat的安装目录地址

D:\Program Files\Tomcat

CATALINA_BASE

tomcat的工作目录

运行多个tomcat实例,可以配置多个工作目录

eclipse下tomcat配置

Window->Preferences->Server->Runtime Environments

然后add->Apache->tomcat8

选择tomcat的安装路径还有jdk,完成即可。

tomcat server窗口在

Window->show view->other->server->servers里

新建Dynamic Web project项目

MySQL安装

下载地址

我使用的是phpstudy运行环境。

MySQL Workbench

下载地址

这里我要吐槽下,这逗比软件,语法检查胡乱报错,逼死强迫症,为了和JAVA合并开发,我就先忍了你,不就是写完重新打开吗。。。

第一血还是献给伟大的HelloWorld

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hello World</title>
</head>
<body>
JSP表达式输出:<%= "HELLO WORLD!" %>
<br/>

<%!
    String str = "Hello World!";
%>

<%
    //String str = "Hello world";
    out.println(str);

%>

</body>
</html>

下面就是JDBC的实战了

数据库准备

创建用户表

CREATE TABLE tbl_user (
    id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL DEFAULT '',
    password VARCHAR(50) NOT NULL DEFAULT '',
    email VARCHAR(50) DEFAULT '',
    PRIMARY KEY (id)
)
engine = InnoDB
--指定数据库引擎
default charset = utf8;

创建地址表

create table tbl_address(

id int(11) unsigned not null auto_increment,
city varchar(20) default null,
country varchar(20) default null,
user_id int(11) unsigned not null,
primary key(id))
engine = InnoDB
default charset = utf8;

向tbl_user表添加内容

insert into tbl_user(id,name,password,email)
values
(1,'xiaozhang','123456','xiaozhang@qq.com'),
(2,'xiaoming','123456','xiaoming@qq.com');

向tbl_address表添加内容

insert into tbl_address(city,country,user_id)
values ('beijing','China',1);


insert into tbl_address(city,country,user_id)
values ('shanghai','China',2);

使用两种方式添加。。

程序设计部分

导入JDBC-MySQL驱动程序。下载Connector/J

下载地址

然后在JSP项目中的

WebContent->WEB-INF->lib

复制粘贴Connector/J的jar包

然后右键添加到build path中就OK

然后在java Resource->src

新建JDBCTest类文件

package net.Freakboy.jdbc;

import java.sql.DriverManager;
import java.sql.ResultSet;

import java.sql.Connection;
import java.sql.Statement;

public class JDBCTest {

    public static void main(String[] args) {
        String sql = "SELECT * FROM tbl_user";
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        
        try {
            
            Class.forName("com.mysql.jdbc.Driver");
            //注册mysql驱动程序

            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db", "root", "root");
            //获取mysql的连接

            st = conn.createStatement();
            rs = st.executeQuery(sql);
            //获取Statement对象并执行sql字符串的语句
            
            while (rs.next()) { //遍历ResultSet
            
                System.out.print(rs.getInt("id") + "  ");
                System.out.print(rs.getString("name") + "  ");
                System.out.print(rs.getString("password") + "  ");
                System.out.print(rs.getString("email") + "  ");
                System.out.println();
            }
            
            
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            
            try {
                rs.close();
            } catch (Exception e2) {
                
            }
            
            try {
                st.close();
            } catch (Exception e3) {
            }
            
            
            try {
                conn.close();
            } catch (Exception e4) {
            }
            
            
        }
        
        
        
        
    }

}

总结

使用java数据库的API功能,可以很轻松在各种平台的sql产品进行开发,java统一了sql开发接口,jdbc桥接的方式使得开发变得更加简单了。。

最后由 不一样的少年 编辑于2016年08月18日 13:27