在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用图形界面打开.java文件
使用 'mvn spring-boot:run' 时出错;但不适用于 java -jar 或 intelliJ
从 IntelliJ 启动时无法激活 Spring 引导配置文件