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 是一个接口 interfacepublic 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