JDBC-实现Java代码连接数据库
2017-12-21 21:25
1346 查看
JDBC
Java代码实现与服务器的连接思路:一、导入数据库jar包
1、导入的jar包:mysql-connector-java-5.1.0-bin.jar或者更新的jar包
二、通过反射链接JDBC,链接JDBC驱动
1、获取JDBC引擎:Class.forName(驱动);
三、获取链接
1、DriverManager.getConnection(url,user,password);
四、实现数据库操作
1、添加数据:insert
2、删除数据:delete
3、修改数据:update
3、查询数据:selecte
JDBC及扩展
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。目录
用[TOC]来生成目录:
JDBC
JDBC及扩展
目录
建立数据库
静态包
dao包
1BaseDaojava
2DeptDaojava
impl包
1DeptImpljava
entity包
1Deptjava
utils包
1DeptImpljava
建立数据库
MySQL 表格语法:语法 | 含义
——– | —
show databases | 显示库
show create database +库名 | 显示创建数据库的语句
show create table +库名 | 显示创建表的语句
use 库名 | 使用这个库
desc student | 查询表
desc student | 查询表
drop database 库名 | 删除库
drop database table 库名 | 删除表
insert into dept values(字段的值) | 添加表的值
select *from 库名t\G | 查询表的所有信息
静态包
JDBC 定义列表语法:处理数据库层
实体类
工具类
服务类
dao包
1、BaseDao.java
package com.bdqn.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.bdqn.utils.Pr; public class BaseDao { public static Connection connection=null; public static Statement statement=null; public static ResultSet resultSet=null; public static PreparedStatement preparedStatement=null; public static Connection getconnection(){ try { //通过反射链接JDBC,链接JDBC驱动 Class.forName(Pr.getProperty("driver")); //获取链接 connection=DriverManager.getConnection(Pr.getProperty("url"), Pr.getProperty("user"), Pr.getProperty("password")); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } //增删改 public static int update(String sql,Object []objects){ int num= 0; try { connection=getconnection(); preparedStatement=connection.prepareStatement(sql); if (objects!=null&&objects.length>0) { for (int i = 0; i < objects.length; i++) { preparedStatement.setObject((i+1), objects[i]); } } num=preparedStatement.executeUpdate(); close(connection, preparedStatement, resultSet); } catch (SQLException e) { e.printStackTrace(); } return num; } //查询数据 public static ResultSet select(String sql,Object []objects){ connection=getconnection(); ResultSet resultSet=null; try { preparedStatement =connection.prepareStatement(sql); if (objects!=null&&objects.length>0) { for (int i = 0; i < objects.length; i++) { preparedStatement.setObject((i+1), objects[i]); } } resultSet=preparedStatement.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return resultSet; } //关闭资源 public static void close(Connection connection,Statement statement,ResultSet resultSet){ try { if (resultSet!=null) { resultSet.close(); } if (statement!=null) { statement.close(); } if (connection!=null) { connection.close(); e647 } } catch (SQLException e) { e.printStackTrace(); } } }
2、DeptDao.java
package com.bdqn.dao; import java.util.List; import com.bdqn.entity.Dept; public interface DeptDao { //添加数据 int insert(Dept dept); //删除数据 int delete(int id); //修改数据 int update(Dept dept); //全查 List<Dept> Allselect(); //根据ID查 List<Dept> IdSelect(int Id); //模糊查询 List<Dept> LikeSelect(Dept dept); }
impl包
1、DeptImpl.java
package com.bdqn.dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.bdqn.dao.BaseDao; import com.bdqn.dao.DeptDao; import com.bdqn.entity.Dept; public class DeptImpl extends BaseDao implements DeptDao{ //添加数据 public int insert(Dept dept) { int num=0; String sql="insert into dept values(?,?,?,?)"; Object [] objects={dept.getId(),dept.getName(),dept.getAge(),dept.getDmesc()}; num=BaseDao.update(sql,objects ); return num; } //根据id删除数据 public int delete(int id) { int num=0; String sql="delete from dept where id=?"; Object [] objects={id}; num=BaseDao.update(sql,objects); return num; } //根据id修改名字 public int update(Dept dept) { int num=0; String sql="update dept set name=? where id=?"; Object [] objects={dept.getName(),dept.getId()}; num=BaseDao.update(sql,objects); return num; } //全查 public List<Dept> Allselect() { List<T> list=new ArrayList<T>(); String sql="select *from dept"; ResultSet resultSet=null; try { resultSet=BaseDao.select(sql, null); while (resultSet.next()) { list.add(new Dept(resultSet.getInt("id"), resultSet.getString("name"), resultSet.getInt("age"), resultSet.getString("dmesc"))); } } catch (SQLException e) { e.printStackTrace(); } return list; } //根据ID查 public List<Dept> IdSelect(int Id) { List<T> list=new ArrayList<T>(); String sql="select *from dept where id=?"; Object [] objects={Id}; ResultSet resultSet=null; try { resultSet=BaseDao.select(sql, objects); while (resultSet.next()) { list.add(new Dept(resultSet.getInt("id"), resultSet.getString("name"), resultSet.getInt("age"), resultSet.getString("dmesc"))); } } catch (SQLException e) { e.printStackTrace(); }finally{ close(BaseDao.connection, BaseDao.preparedStatement, resultSet); } return list; } //模糊查询 public List<T> LikeSelect(Dept dept) { List<T> list=new ArrayList<T>(); String sql="select *from dept like %?%"; ResultSet resultSet=null; Object []objects={dept.getName()}; try { resultSet=BaseDao.select(sql, objects); while (resultSet.next()) { list.add(new Dept(resultSet.getInt("id"), resultSet.getString("name"), resultSet.getInt("age"), resultSet.getString("dmesc"))); } } catch (SQLException e) { e.printStackTrace(); }finally{ close(BaseDao.connection, BaseDao.preparedStatement, resultSet); } return list; } }
entity包
1、Dept.java
package com.bdqn.entity; public class Dept { private int id; private String name; private int age; private String dmesc; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getDmesc() { return dmesc; } public void setDmesc(String dmesc) { this.dmesc = dmesc; } public Dept(int id, String name, int age, String dmesc) { this.id = id; this.name = name; this.age = age; this.dmesc = dmesc; } public Dept() { } @Override public String toString() { return "Dept [id=" + id + ", name=" + name + ", age=" + age + ", dmesc=" + dmesc + "]"; } }
utils包
1、DeptImpl.java
package com.bdqn.utils; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class Pr { private static Properties properties=new Properties(); /*静态块的作用:运行程序前先实现方法 */ static { InputStream is=null; try { //使用IO流读取文件 is = new FileInputStream("database.properties");//properties文件的地址 //写入文件信息 properties.load(is); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if (is!=null) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static String getProperty(String key) { return properties.getProperty(key); } }
。
注意:操作数据库的流程需先熟悉, Properties方法是对数据库地址等配置,请务必熟悉Java基础。
相关文章推荐
- java开发中JDBC连接数据库的代码实现与详解(转载)
- Java 实现连接sql server 2000(JDBC数据库访问例子)
- 完整java开发中JDBC连接数据库代码和步骤
- Java 实现连接sql server 2000(JDBC数据库访问例子)
- 完整java开发中JDBC连接数据库代码和步骤
- java application应用程序 使用JDBC和proxool两种方式连接数据库 的测试程序代码
- Java 实现连接sql server 2000(JDBC数据库访问例子)-2
- Java 实现连接sql server 2000(JDBC数据库访问例子)
- java开发中JDBC连接数据库代码和步骤
- 完整java开发中JDBC连接数据库代码和步骤
- Java 实现连接sql server 2000(JDBC数据库访问例子)
- weka(0)--weka 连接数据库 java实现代码
- Java 实现连接sql server 2000(JDBC数据库访问例子)
- java application 应用程序 使用JDBC proxool 两种方式连接数据库 测试程序代码
- Java 实现连接sql server 2000(JDBC数据库访问例子)
- 最基础的java JDBC连接数据库代码并关闭连接
- 完整java开发中JDBC连接数据库代码和步骤
- java 各种数据库的JDBC连接代码
- 完整java开发中JDBC连接数据库代码和步骤
- 完整java开发中JDBC连接数据库代码和步骤