MySQL数据库的使用流程,代码解释+Hibernate连接数据库
数据库的使用流程:
1.注册驱动;
2.用DriverManager.getConnection方法获得连接对象con;
A方法:
3.用连接对象的createStatement()方法,获得可以执行sql语句的对象stmt;
4.stmt执行查询(查询语句);
B方法(推荐):
3.用连接对象的prepareStatement方法,获得带参数(查询语句)的预处理对象pstmt;
4.pstmt执行查询,并将结果集赋予ResultSet对象;
public class DbTest{
public static void main(String[] args) {
/**
* 数据库的使用:
* 1.注册驱动;
* 2.用DriverManager.getConnection方法获得连接对象con;
* A方法:
* 3.用连接对象的createStatement()方法,获得可以执行sql语句的对象stmt;
* 4.stmt执行查询(查询语句);
* B方法(推荐):
* 3.用连接对象的prepareStatement方法,获得带参数(查询语句)的预处理对象pstmt;
* 4.pstmt执行查询,并将结果集赋予ResultSet对象;
*/
try {
Class.forName("com.mysql.jdbc.Driver"); //注册驱动
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/book","root","root123");
//获得连接对象
//使用statement方法处理sql语句的执行,与 PreparedStatement方法稍有不同。
Statement stmt=con.createStatement(); //获得可以执行sql语句的对象
ResultSet rs=stmt.executeQuery("select * from bookinfo where id=1"); //执行查询,并将结果集赋予ResultSet对象
/**推荐以下方法:
PreparedStatement pstmt=con.prepareStatement("select * from bookinfo where id=1");//获得预处理对象
ResultSet rs=pstmt.executeQuery(); //执行查询,并将结果集赋予ResultSet对象
*/
while(rs.next())
{int id=rs.getInt(1);
System.out.println(rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
}
} catch (ClassNotFoundException e) { //捕获驱动类无法找到异常
e.printStackTrace();
} catch (SQLException e) { //捕获SQL异常
e.printStackTrace();
}
}
}
附件地址:连接数据库[图书管理系统]
2.Hibernate连接数据库,最精简系统
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.setId(3);
s.setName("zhangwu");
s.setAge(10);
Configuration cfg=new Configuration();
SessionFactory sf= cfg.configure().buildSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
public class TeacherTest {
public static void main(String[] args) {
Teacher t = new Teacher();
t.setId(1);
t.setName("t1");
t.setTitle("middle");
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
}
}
附件地址:连接数据库Hibernate
MySQL数据库的使用流程,代码解释+Hibernate连接数据库的更多相关文章
- 【C#】【MySQL】C#连接MySQL数据库(一)代码
C#连接MySQL数据库 准备工作 1.环境安装 安装MySQL For Visual Studio<<点击进入官网下载 第一个要下载安装,第二个下载后将MySQL.data添加到Visu ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- Java连接MySQL数据库——含步骤和代码
工具:eclipse MySQL5.6 MySQL连接驱动:mysql-connector-java-5.1.27.jar 加载驱动: 1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件 ...
- MySQL数据库时区问题导致java程序无法连接数据库
转载自https://blog.csdn.net/man_zuo/article/details/81027934 先把报错信息贴上, The server time zone value '???ú ...
- mysql数据库之工作流程
MySQL架构总共四层,在上图中以虚线作为划分. 首先,最上层的服务并不是MySQL独有的,大多数给予网络的客户端/服务器的工具或者服务都有类似的架构.比如:连接处理.授权认证.安全等. 第二层的架构 ...
- MYSQL数据库重点:流程控制语句
1.BEGIN ... END复合语句:包含多个语句.statement_list 代表一个或多个语句的列表.statement_list之内每个语句都必须用分号(:)来结尾. [begin_labe ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- PHP 和 AJAX MySQL 数据库实例
HTML 表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
随机推荐
- HDU-1134 卡特兰数+java大数模板
题意: 给你一个n,然后1,2,3...2n-1,2n围一圈,让每个数都能用一条线配对并且线与线之间不能交叉,问有几种方法数. 思路: 1 可以和2,4,6...连接.假如 一共有8个数,1和2连 ...
- Vue主要原理最简实现与逻辑梳理
Vue的主要原理中主要用到了定义的这么几个函数Dep,Watcher,observer.我们来使用这几个函数简单的实现一下vue构造函数数据绑定和相互依赖部分,梳理一下它们之间的关系.省略了编译部分和 ...
- eclipse中 使用maven搭建ssh项目 思路复习(含有pom.xml)
首先在web.xml中配置监听器 在服务器启动的时候 进行bean对象的创建(只会创建单例对象 dao service 多例对象action可不会创建 每个多例对象是不同的 创建了有什么意义呢 ...
- hdu 1598 暴力+并查集
#include<stdio.h> #include<stdlib.h> #define N 300 int pre[N]; int find(int u) { if(u!=p ...
- 【ACM】hdu_1095_A+BVII_201307261740
A+B for Input-Output Practice (VII)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/327 ...
- [React Native] Target both iPhone and iPad with React Native
By default, React Native only targets iPhone - so if you run on an iPad, it will show up as a scaled ...
- 怎样 获取 ios的系统版本
获得Ios系统版本的函数,比方 函数定义: [cpp] view plaincopy + (float)getIOSVersion; 函数实现: [cpp] view plaincopy + (flo ...
- Android笔记之网络状态推断
1.首先当然得在 manifest 中加入检查网络状态的权限: <uses-permission android:name="android.permission.ACCESS_NET ...
- cocos2d-x 是怎样渲染的
要知道 是怎样渲染的:要先选中 就可以 谁知道: c ocos2d-x 是怎样渲染的 ? 每一个CCNODE自己有draw 北京-菜菜: :: draw draw负重渲染 ************** ...
- Codeforces Round #349 (Div. 2) C. Reberland Linguistics DP+set
C. Reberland Linguistics First-rate specialists graduate from Berland State Institute of Peace a ...