MySQL数据库的使用流程,代码解释+Hibernate连接数据库

数据库的使用流程:
 1.注册驱动;
 2.用DriverManager.getConnection方法获得连接对象con;
 A方法:
   3.用连接对象的createStatement()方法,获得可以执行sql语句的对象stmt;
   4.stmt执行查询(查询语句);
 B方法(推荐):
   3.用连接对象的prepareStatement方法,获得带参数(查询语句)的预处理对象pstmt;
   4.pstmt执行查询,并将结果集赋予ResultSet对象;

复制代码
 1 public class DbTest{
 2     public static void main(String[] args) {    
 3         /**
 4          * 数据库的使用:
 5          * 1.注册驱动;
 6          * 2.用DriverManager.getConnection方法获得连接对象con;
 7          *     A方法:
 8          *         3.用连接对象的createStatement()方法,获得可以执行sql语句的对象stmt;
 9          *         4.stmt执行查询(查询语句);
10          *     B方法(推荐):
11          *         3.用连接对象的prepareStatement方法,获得带参数(查询语句)的预处理对象pstmt;
12          *         4.pstmt执行查询,并将结果集赋予ResultSet对象;
13          */
14         try {
15                 Class.forName("com.mysql.jdbc.Driver");                             //注册驱动
16                 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/book","root","root123");
                                                   //获得连接对象 17 //使用statement方法处理sql语句的执行,与 PreparedStatement方法稍有不同。 18 Statement stmt=con.createStatement();        //获得可以执行sql语句的对象 19 ResultSet rs=stmt.executeQuery("select * from bookinfo where id=1"); //执行查询,并将结果集赋予ResultSet对象 20 /**推荐以下方法: 21 PreparedStatement pstmt=con.prepareStatement("select * from bookinfo where id=1");//获得预处理对象 22 ResultSet rs=pstmt.executeQuery();          //执行查询,并将结果集赋予ResultSet对象 23 */ 24 while(rs.next()) 25 {int id=rs.getInt(1); 26 System.out.println(rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)); 27 } 28 } catch (ClassNotFoundException e) {     //捕获驱动类无法找到异常 29 e.printStackTrace(); 30 } catch (SQLException e) { //捕获SQL异常 31 e.printStackTrace(); 32 } 33 } 34 }
复制代码

附件地址:连接数据库[图书管理系统]

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

 

posted on   小忙  阅读(812)  评论(0编辑  收藏  举报

编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· .NET 8.0 + Linux 香橙派,实现高效的 IoT 数据采集与控制解决方案
· .NET中 泛型 + 依赖注入 的实现与应用

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示