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 ...
随机推荐
- TCP/IP数据包结构详解
一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解网络数据包的结构,以及协议分析.如:网络监控,故障排查等…… IP包是不安全的,但是 ...
- 从读写分离到 CQRS,张大胖是如何解决性能问题的?
转自:https://mp.weixin.qq.com/s/rpiYZkxiLKa77OFw8XaBwA 不堪重负的数据库 张大胖公司的数据库已经不堪重负了. 这个系统最早是两个实习生写的, 按照最初 ...
- php第四节课
对象 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
- C#第二节课
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- SQL中IS NOT NULL与!=NULL的区别
平时经常会遇到这两种写法:IS NOT NULL与!=NULL.也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合.实际上,是由于对二者使用区别理解不透彻. 默认情况下,推荐使用 IS ...
- 1.2、使用pip安装Python包
大多数 Python 包都使用 pip 实用工具安装,使用 virtualenv 创建虚拟环境时会自动安装 pip.激活虚拟环境后,pip 所在的路径会被添加进 PATH. 注:如果你在 Python ...
- 最佳实践 | 源码升级gcc
1.下载升级包所需软件 boost_1_60_0.tar.gz http://www.boost.org/users/history/version_1_60_0.html gcc-4.8.0.tar ...
- 关于使用element中的popup问题
高产似母猪..写完上篇看了几集新番就空虚了..零点时分决定爬起来,趁着清明假期能写多写点. 1.前言 我们知道弹出框都是在触发了某种条件后展示,而一个个的新的弹出框的展示,总是覆盖着上一个弹出框.实现 ...
- Something about 博弈(POJ 3922 A simple stone game)
先是题目,本来是第三次训练的题,在这特别提出来讲. 先是题目: E - A simple stone game Time Limit:1000MS Memory Limit:65536KB ...
- ACDream - Graphs
先上题目: Graphs Time Limit: 4000/2000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit ...