在intellij 下用java spring + Mysql + Hibernate 开发的第一个数据库demo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在intellij 下用java spring + Mysql + Hibernate 开发的第一个数据库demo相关的知识,希望对你有一定的参考价值。

  准备:

    1、安装mysql.

    2、安装maven.

    3、准备好你的ide(eclipse,或intellij都行)

  正题:

      用spring的框架来构建项目,首先就是要知道AOP和DI是什么。(自己查)

  实现过程中有两类疑问?

  1、第一个是spring怎么实现我们没有new Bean然而能够拿到一些bean组件

  2、hibernate和Dao是什么,DaoSupport是什么,为什么有DaoImpl.Impl里面的templete是什么。

    第一类问题是来自对AOP,和DI不理解造成的。在spring中,一个bean对象可以在spring的上下文描述文件中定义好,也就是我们看到的很多的xml文件。xml文件中描述了每个bean是什么里面有什么属性。属性的类型来源等。当这些东西描述好了之后,spring的context会在我们初始化它的xml中去逐个搜索。把里面的bean在要使用的时候都能够初始化好,所以我们能够在上下文中通过一个bean的id直接拿到这个bean对象不用去初始化它。

  第二类是spring中数据库的一些知识:

  关键词解释:

  Hibernate是使用对象的方式访问数据库的一个第三方的类库,当然它是很有名的,在使用过程中我们只要配置一下实体类和数据库中表的关系的xml就可以把表和实体类建立一种联系。

    DAO是我们自己定义在工程中要对数据库进行的操作。templete是spring里面实现的一个增删改查的工具。我们定义了一个DAO接口,并用一个类来实现这个DAO接口就是我们看到的daoimpl,而daoimpl可能会继承一个daosupport这样的东西,这个东西会帮我们生成好初始化并配置好templete这个工具。我们只要到时候调用这个工具就可以实现我们要做的东西了(DAO 里面定义的方法)

一句话概括:DaoImpl继承DaoSupport 并调用templete来实现DAO中的数据业务。

 

参考:https://www.mkyong.com/spring/maven-spring-hibernate-mysql-example/

 

我也写了按照上面写了一遍:http://download.csdn.net/detail/zrical/9735317在这个链接可以下载

要运行的前提

1、你创建了一个mysql的本地数据库,并在其中创建一个表:

CREATE TABLE  `mkyong`.`stock` (
  `STOCK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `STOCK_CODE` varchar(10) NOT NULL,
  `STOCK_NAME` varchar(20) NOT NULL,
  PRIMARY KEY (`STOCK_ID`) USING BTREE,
  UNIQUE KEY `UNI_STOCK_NAME` (`STOCK_NAME`),
  UNIQUE KEY `UNI_STOCK_ID` (`STOCK_CODE`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

2、更改xml中关于数据库连接的配置,更改数据库名和表名为你创建的数据库和表。更改你的mysql登录密码.

3、你的mysql要 start起来

然后差不多就可以run了.

 

以上是关于在intellij 下用java spring + Mysql + Hibernate 开发的第一个数据库demo的主要内容,如果未能解决你的问题,请参考以下文章

在Intellij IDEA下用X-debug调试PHP

如何在Intellij IDEA用图形界面打开.java文件

使用 'mvn spring-boot:run' 时出错;但不适用于 java -jar 或 intelliJ

从 IntelliJ 启动时无法激活 Spring 引导配置文件

使用 Intellij 在 Spring Boot 中使用 Gradle 构建 docker 映像

如何在 IDEA Intellij 上使用 Spring-boot 进行自动重新加载