1 创建工具类并连接数据库
在工程src右键单击new,新建util包
再创建DBUtil类
数据库交互需要有数据库支持的包,这是官方给出的类库。
先声明1个代码块
// 静态代码块 只加载1次
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("mysql初始化失败了,请重新尝试");
e.printStackTrace();
} // 通过反射机制 加载驱动
}
再写链接的成员方法
// 写1个方法来获取连接
// Connection 是一个接口 interface
public static Connection getConn() {
Connection conn = null; // 声明此接口 为了调用其方法 从而获取连接
try {
// 加载驱动 库
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ebuys?useUnicode=true&characterEncoding=utf8","root","1234");
} catch (SQLException e) {
System.out.println("连接失败,是否有启动mysql数据库呢");
e.printStackTrace();
}
return conn;
}
写的过程中要不断的指定类是哪个包里的。
在写关闭链接的方法
public static void closeConn(Connection conn) {
if(null != conn) {
try {
conn.close();
} catch (SQLException e) {
System.out.println("关闭失败了");
e.printStackTrace();
}
}
}
public static void closeState(PreparedStatement pstmt) {
if(null != pstmt) {
try {
pstmt.close();
} catch (SQLException e) {
System.out.println("close pstmt error"+pstmt);
e.printStackTrace();
}
}
}
public static void closeResult(ResultSet rs) {
if(null != rs) {
try {
rs.close();
} catch (SQLException e) {
System.out.println("close rs error"+rs);
e.printStackTrace();
}
}
}
可以把三个关闭写为一个序贯的方法
public static void closeAll(Connection conn, PreparedStatement pstmt, ResultSet rs) {
closeResult(rs);
closeState(pstmt);
closeConn(conn);
}
这时候前三个方法都可以写为私有的了,当然公有的也行。
最后,写一个main方法
public static void main(String[] args) {
try {
DBUtil.getConn();
System.out.println("数据库连接成功");
} catch (Exception e) {
System.out.println("数据库连接失败");
e.printStackTrace();
}
}
调用了整个连接数据库的过程。下面用java application测试一下
当然 在测试前,先看看服务里mysql是不是在运行中,这时候说mysql数据库链接成功,说明代码没问题。注意用的是java application,syso方法是在console里显示的,不是在网页上,因为这里只是调用数据库,没有在tomcat服务器上运行。
2
为了处理业务,再创建1个控制层的包
再创建1个类,也可以创建servlet