jdbc的知识点:

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,

可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,

同时,JDBC也是个商标名。

一、JDBC的实现步骤:

1、加载驱动程序

Class.forName(DriverClass);

2、使用驱动管理类,获得数据库连接

Connection conn = DriverManager.getConnection(URL,USER,PASSWORD);

URL格式: jdbc:数据库类型://IP地址:端口号/数据库名

示例 URL= "jdbc:mysql://127.0.0.1:3306/student"

3、使用数据库连接创建声明

Statement stmt = conn.createStatement();

4、使用声明执行SQL语句

ResultSet rs = stmt.executeQuery("sql");

5、遍历集合,读取数据

boolean b = rs.next();

rs.getString();

二、采用MVC三层架构

View 视图层

Control 控制层

Model 模型层

DB 数据库

MVC:

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,

从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,

一旦M改变,V应该同步更新。

模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,

已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。

模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。


MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。

通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。

通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果

java部分:

InsertDemo类:

package sql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class InsertDemo {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

//1.动态加载驱动
Class.forName("com.mysql.jdbc.Driver");

//2.打开数据库连接
String url = "jdbc:mysql://127.0.0.1:3306/student";//连接数据库的地址
String user = "root";
String password = "root";

Connection conn = DriverManager.getConnection(url, user, password);

//3.创建声明
Statement stmt = conn.createStatement();

//4.通过声明执行SQL语句
String sql = "delete from stu where age>20";
boolean b = stmt.execute(sql);
System.out.println(!b);//添加成功返回false

}

}

SelectDemo类:

package sql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class SelectDemo {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

//1.动态加载驱动
Class.forName("com.mysql.jdbc.Driver");

//2.打开数据库连接
String url = "jdbc:mysql://127.0.0.1:3306/student";//连接数据库的地址
String user = "root";
String password = "root";

Connection conn = DriverManager.getConnection(url, user, password);

//3.创建声明
Statement stmt = conn.createStatement();

//4.通过声明执行SQL语句
String sql = "select * from stu";
 
ResultSet rs = stmt.executeQuery(sql);

/**
* 查询
*/
List<Stu> list = new ArrayList<Stu>();

while(rs.next()){

String name = rs.getString("name");
int age = rs.getInt("age");
String sex = rs.getString("sex");

list.add(new Stu(name,age,sex));//把每次获得的对象存入集合

}

System.out.println(list);

}

}

Stu类:

package sql;

public class Stu {

private String name;
private int age;
private String sex;
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Stu(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
}
public Stu() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Stu [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}

}

注意:在使用前当然要导入一个sql的jar包,方可使用。

以上的java代码编写后,再后来可以对sql进行操作了

java代码连接数据库相关推荐

  1. 通过java代码连接数据库

    在我们刚学到Java web课程时,创建java web工程,首先要实现的是连接数据库,下面会有一个测试案例实现连接数据库的功能. 第一步:建立 数据库结构数据 第二步:创建Java项目 结构目录 先 ...

  2. java代码修改数据库里图片_java如何修改sql存储的图片?

    展开全部 :获取数据库连接 1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下323131333532363134313 ...

  3. 实现文件下载的java代码

    实现文件下载的java代码 //这是实现下载类(servlet),详细思路代码例如以下: //也可连接数据库 package com.message; import javax.servlet.*; ...

  4. eclipes Java代码连接Mysql数据库

    Java代码连接Mysql数据库C 一.插件的下载与加载 1.下载与本地的MySQL对应版本的连接数据库的包,如mysql-connector-java-8.0.17.jar 下载Connector/ ...

  5. 用java代码实现查询数据库

    首先我们第一步要在虚拟机或者本地构建一个数据库("如何在虚拟机上安装MYSQL在上一篇讲过") #登陆mysql -uroot -pok #创建mydemo数据库 create d ...

  6. Java web连接数据库实现登录功能 ; jsp连接MySQL或SQL server数据库的jar包也在这里哦!

    [深夜放毒,记录生活^_^]   学了HTML之后 , 一直想写一个能够实现登录功能的小网页 ,终于--现在开始学习数据库,经过查阅资料,创建了很简单的一个java web小项目来实现登陆操作,界面不 ...

  7. java 下载代码_实现文件下载的java代码

    实现文件下载的java代码 //这是实现下载类(servlet),详细思路代码例如以下: //也可连接数据库 package com.message; import javax.servlet.*; ...

  8. springBoot下java代码mysql数据库定时任务(创建表)

    springBoot下用java代码创建表 首先找到application.yml配置文件进行数据库连接配置 2-编写初始化数据库表类 这里就先写个demo用作测试 在项目目下新建一个包,报名任意,在 ...

  9. 用java代码实现在网页查询数据库

    首先在mysql上创建数据库 目录 首先在mysql上创建数据库 在编写Java代码之前要写一个driver.properties配置文件用来存放连接数据库必要的数据 下面就是编写代码来连接数据库并进 ...

最新文章

  1. Android Studio快捷键每日一练(2)
  2. 更改zabbix-server的端口
  3. 《Spark大数据分析:核心概念、技术及实践》一3.6 惰性操作
  4. 别为了学编程而学编程
  5. 拉格朗日乘数法(一种寻找变量受一个或多个条件所限制的多元函数的极值的方法)
  6. OpenCV使用pthread实现多线程加速处理图像(C++)
  7. nginx与apache详细性能对比
  8. 要运行python程序要安装什么_傲视天地
  9. OWASP Mutillidae II:保持冷静并保持警惕——闯关小结
  10. Java游戏有易筋经_易筋经- JavaWeb-1
  11. p沟道mos管导通条件_打开知识大门的捷径!MOS管基本认识
  12. python十大装b语法_Python 十大语法
  13. 内齿轮泵行业调研报告 - 市场现状分析与发展前景预测
  14. 【重点BFS】LeetCode 127. Word Ladder
  15. php连接mysql的方式_php连接mysql的三种方式
  16. BZOJ 1977/洛谷P4180 - 次小生成树 Tree(严格次小生成树)
  17. JPA 中@Enumerated
  18. MATLAB 内积外积混合积
  19. N2O游戏大师 V2.36.75.803 官方安装版
  20. android gps定位误差,Android的GPS定位速度不可靠

热门文章

  1. fragment中的replace和hide与shou方法的区别
  2. 在 2016 年学 JavaScript 是一种什么样的体验?
  3. openStack镜像制作
  4. Angular2学习笔记——NgModule
  5. Jquery获取ckEditor的内容
  6. SVCHOST.exe进程之谜
  7. CSP认证201403-3 命令行选项[C++题解]:模拟题、字符串处理、stringstream处理getline
  8. PAT甲级1001 A+B Format:[C++题解]字符串处理
  9. html input submit 执行,HtmlInputSubmit 服务器控件声明性语法
  10. python中点的作用_一分钟了解Python中“*”的作用