一、下载数据库JDBC驱动

1、1:Mysql驱动

https://dev.mysql.com/downloads/connector/

下载得到的是一个压缩包,解压后到里面寻找文件:mysql-connector-java-8.0.12.jar

这个:mysql-connector-java-8.0.12.jar就是我们要导入到jJAVA项目中。

二、导入数据库驱动包

这次我是应用Intellje IDEA开发软件,如果应用eclipse直接把包复制到项目中的lib中即可。

或者:

找到你的包所在位置

然后点击Apply按钮后点击OK

结果:

三、代码实现

1、建包

建类:

packagecom.yangwansheng.test.util;import java.sql.*;public classMysqlJdbcUtil {private static String driver = "com.mysql.jdbc.Driver";//驱动//数据库

private static String url = "jdbc:mysql://localhost:3306/worksql?useUnicode=true&characterEncoding=UTF-8";private static String user = "YangWanSheng";//用户名

private static String pwd = "Wansheng";//密码

private static Connection conn = null;//连接对象

private static Statement stat = null;//执行语句对象//打开数据库连接

public static voidopen() {try{//加载驱动

Class.forName("com.mysql.jdbc.Driver");//打开连接--实例化数据库连接对象

conn =DriverManager.getConnection(url, user, pwd);

}catch(Exception e) {

e.printStackTrace();

}

}//关闭数据库连接对象,释放内存

public static voidclose() {try{//判断数据库是否处于连接中

if (conn != null &&conn.isClosed()) {

conn.close();

}if (stat != null) {

stat.close();

}

}catch(Exception e) {

e.printStackTrace();

}

}/***

* 查询所有数据*/

public staticResultSet executeQuery(String sql) {try{

open();

stat=conn.createStatement();returnstat.executeQuery(sql);

}catch(Exception e) {

e.printStackTrace();

}return null;

}/*** 条件查询、分页查询

*@paramsql 数据库执行语句

*@paramo 参数

*@return反回一个集合命令*/

public staticResultSet executeQuery(String sql,Object... o){try{

open();

PreparedStatement pst=conn.prepareStatement(sql);for(int i=0;i

pst.setObject(i+1, o[i]);returnpst.executeQuery();

}catch(SQLException e) {

e.printStackTrace();

}return null;

}/**执行增、删、改*/

public static intexecutUpeate(String sql, Object... obj) {try{

open();

PreparedStatement pst=conn.prepareStatement(sql);for (int i = 0; i < obj.length; i++) {

pst.setObject(i+ 1, obj[i]);

}

stat=pst;returnpst.executeUpdate();

}catch(Exception e) {

e.printStackTrace();

}return 0;

}

}

四、jdbcUtil类的调用

4、1:创建bo实体类

packagecom.yangwansheng.test.bo;public classStudentCourse {private intid;privateString Sno;privateString Cno;public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicString getSno() {returnSno;

}public voidsetSno(String sno) {

Sno=sno;

}publicString getCno() {returnCno;

}public voidsetCno(String cno) {

Cno=cno;

}public StudentCourse(intid, String sno, String cno) {this.id =id;

Sno=sno;

Cno=cno;

}publicStudentCourse(){}

@OverridepublicString toString() {return "StudentCourse{" +

"id=" + id +

", Sno='" + Sno + '\'' +

", Cno='" + Cno + '\'' +

'}';

}

}

4、2:数据库访问层DAO

packagecom.yangwansheng.test.dao;importcom.yangwansheng.test.bo.StudentCourse;importcom.yangwansheng.test.util.MysqlJdbcUtil;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;public classStudentCourseDao {/**查询所有的学生选课表的信息*/

public ListgetAllStudentCourse(){

List list = new ArrayList<>();

String sql= "SELECT `StudentCourse`.id, `Course`.Cname, `Student`.Sname FROM `StudentCourse`";

sql+=" LEFT JOIN `Course` ON `StudentCourse`.Cno = `Course`.Cno ";

sql+=" LEFT JOIN `Student` ON `StudentCourse`.Sno = `Student`.Sno LIMIT 0,5";

ResultSet rs=MysqlJdbcUtil.executeQuery(sql);try{while(rs.next()){

StudentCourse stucou= newStudentCourse(

rs.getInt("id"),rs.getString("Cname"),

rs.getString("Sname")

);

list.add(stucou);

}returnlist;

}catch(Exception e){

e.printStackTrace();

}finally{

MysqlJdbcUtil.close();

}return null;

}/*** 分页查询

*@paramstate

*@paramend

*@return

*/

public List getPageStudentCourse(int state, intend){

List list = new ArrayList<>();

String sql= "SELECT `StudentCourse`.id, `Course`.Cname, `Student`.Sname FROM `StudentCourse`";

sql+=" LEFT JOIN `Course` ON `StudentCourse`.Cno = `Course`.Cno ";

sql+=" LEFT JOIN `Student` ON `StudentCourse`.Sno = `Student`.Sno LIMIT ?,?";

ResultSet rs=MysqlJdbcUtil.executeQuery(sql,state,end);try{while(rs.next()){

StudentCourse stucou= newStudentCourse(

rs.getInt("id"),rs.getString("Cname"),

rs.getString("Sname")

);

list.add(stucou);

}returnlist;

}catch(Exception e){

e.printStackTrace();

}finally{

MysqlJdbcUtil.close();

}return null;

}//修改

public int updateSc(intid ,String Cno){

String sql="update StudentCourse set Cno = ? where id=? ";int i =MysqlJdbcUtil.executUpeate(sql,Cno,id);returni;

}/*** 添加

*@return大于一添加成功*/

public intaddSc(String sno, String con){

String sql="insert into StudentCourse(Sno,Cno) VALUES(?,?);";int i =MysqlJdbcUtil.executUpeate(sql,sno,con);returni;

}/*** 删除

*@paramid

*@return大于1执行成功*/

public int delSc(intid){

String sql="delete from StudentCourse where id=?;";int i =MysqlJdbcUtil.executUpeate(sql,id);returni;

}

}

4、3:创建测试类

packagecom.yangwansheng.test.test;importcom.yangwansheng.test.bo.StudentCourse;importcom.yangwansheng.test.dao.StudentCourseDao;public classMysqlTest {public static voidmain(String[] args) {

StudentCourseDao SCdao= newStudentCourseDao();

System.out.println(SCdao.getAllStudentCourse());

}

}

结果:

java在mysql读取数据库数据库数据_JAVA的JDBC连接数据库以及读取数据库数据相关推荐

  1. 在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号、书名、单价、数量)。 利用JDBC连接数据库dbjava,实现数据表的增删 改查

    题目 1.在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号.书名.单价.数量). 2.利用JDBC连接数据库dbjava,实现数据表 ...

  2. JAVA的JDBC连接数据库以及读取数据库数据

    一.下载数据库JDBC驱动 1.1:Mysql驱动 https://dev.mysql.com/downloads/connector/ 下载得到的是一个压缩包,解压后到里面寻找文件:mysql-co ...

  3. java如何保存初始化数据_java – 如何在JUnit测试中初始化数据

    我的任务是为服务层编写压力(负载)测试.主要是CRUD操作.我们使用JUnit作为测试框架,使用JUnitPerf构建负载测试,使用 Spring注入服务bean,使用hibernate访问数据库. ...

  4. java连接mysql实现增删改查_java连接数据库,实现增删改查操作

    一.前言 写这个文章的原因是为了巩固自己连接数据库步骤 希望对初次学习数据库的朋友有所帮助 二.MySQL数据库连接 数据库连接步骤加载驱动程序,获取数据库连接对象 2.1驱动jar包 2.2代码 p ...

  5. java sqlserver 插入数据_java中怎样向SQLserver中插入数据

    1. 通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别是mssqlserver.jar.msutil.jar和 msbase.jar,可以到微软的网站去下载(://www.m ...

  6. java测试类读取不到配置文件_java – 如何在单元测试中读取配置文件?

    我有一个标准的maven项目布局. 一些配置文件存储在src / main / conf中. 现在我想在src / test中的单元测试中读取这些文件(例如,从其中一个文件中读取属性). 我怎么能完全 ...

  7. java jdbc连接 代码块_java 中JDBC连接数据库代码和步骤详解及实例代码

    •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的 ...

  8. java项目启动加载数据_java项目启动时加载数据库信息存入缓存方法

    一.获取需要加载的数据 @Component public class MathMethod { public void addMethod(int i) { //查询方法存入redis等库 Syst ...

  9. 如何向mysql表中添加数据类型_java中怎么把data类型的数据添加到数据库?

    这种问题应该算是很初级的问题了,项目一直用的是util包下的date,所以临时看了一下sql.date的源码: 由源码,很容易可以看出来,sql.date提供了两种构造方法: 一. 提供年月日 @De ...

最新文章

  1. 计算机书籍- 聊天机器人技术原理与应用
  2. 南极冰盖数据集不如火星?借助无人机和机器学习,斯坦福学者着力挖掘最有价值数据...
  3. 【iOS数据持久化】Plist使用
  4. 软件测试用python一般用来做什么-python能够做软件的自动化测试吗?
  5. KVM之EPT与影子页表(七)
  6. 查看docker的端口映射情况
  7. 各大视觉技术竞赛冠军及 TOP 方案集锦(持续更新)
  8. kali安装tools
  9. java学习(106):字符串tocharArray,tolowercase,touppercase方法
  10. 计算机应用技术专业课程改革方案,【计算机维护论文】计算机应用技术专业教学改革方案(共4015字)...
  11. tocmat类加载:正统的类加载
  12. 检验例题_高一化学微课之81氨气的制备和铵根离子的检验
  13. Linux 服务器为什么被黑
  14. Python学习笔记(matplotlib篇)--多图figure
  15. 学习c语言编程用什么软件_用C编程
  16. Unity-URP-基于模板的延迟渲染
  17. CSS 外边距重叠及防止方法
  18. 洛谷 p1000 超级玛丽游戏
  19. 硬件特征码已达到最大上限_监控录像机“资源不足”或“达到上限” 的原因及解决方法!...
  20. Android 基于AccessibilityService智能安装Apk 仿 豌豆荚

热门文章

  1. 程序员如何理解客户需求
  2. ykcchf 2013 v2.1101 最新版下载
  3. 今天的我也不太清楚的即时通讯
  4. EXE.DLL文件图标导出器[免费下载]
  5. 如今编程成为了一个越来越重要的「技能」,如何自学编程我来教你
  6. 编程语言五花八门,哪种可以让程序员赚到更多钱?
  7. 我想重构网站的前端!不,你不想....
  8. yy神曲url解析php_php解析url的三个示例
  9. “新型冠状病毒国家科技资源服务系统”入选全球15项世界互联网领先科技成果...
  10. 什么样的研究有价值?