IDEA DATEBASE使用

作者:LoveEmperor-王子様

Eclipse可以根据数据表自动创建实体类,IDEA自然也有此功能,小试一下:

  1. 设置database
IDEA DATEBASE使用
点击这个按钮打开数据库面板

然后点 加号-datasource-MySql,设置数据库连接

IDEA DATEBASE使用
数据库连接

这一步和我们生成实体类没有关系,只是作为我们查看数据方便,我觉得可以代替navcat或者workbench了,直接在idea李连接数据库不要太酸爽。

IDEA DATEBASE使用
Paste_Image.png

2.. 打开Persistence面板
位置是View-Tool Windows- Persistence

我在这一步卡了一下,找不到Persistence选项,百度知这是由于没有配置Hibernate(idea用hibernate实现数据库映射,和你工程用不用hibernate没有关系,所以这个一定是要安装的)。这个选项一般在新建工程的时候有提供,但是我建立的是springboot项目,没有提示

IDEA DATEBASE使用
右键工程,Modules-点右边的加号,添加JPA(注意不是spring data jpa)

会下载一些jar包到工程里,完毕后再次打开View-Tool Windows就能看到Persistence了,选择打开。

IDEA DATEBASE使用
在persistence面板中右键你的工程,按上面选择,将会打开import database schema面板
IDEA DATEBASE使用
箭头所示特别注意

上面红色箭头所指的文件是要自己建立的,其实就是idea用的hibernate的配置文件,放在resources文件夹下,我贴出来:

IDEA DATEBASE使用
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
             http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<span class="hljs-comment">&lt;!--必须要有name属性,不能为空 --&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">persistence-unit</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"monodevJPA"</span> <span class="hljs-attr">transaction-type</span>=<span class="hljs-string">"RESOURCE_LOCAL"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">mapping-file</span>&gt;</span>com/monodev/mvcstudy/repository/UserEntity.xml<span class="hljs-tag">&lt;/<span class="hljs-name">mapping-file</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">class</span>&gt;</span>com.monodev.mvcstudy.repository.UserEntity<span class="hljs-tag">&lt;/<span class="hljs-name">class</span>&gt;</span>


    <span class="hljs-comment">&lt;!--厂商的特定属性 --&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">properties</span>&gt;</span>
        <span class="hljs-comment">&lt;!--配置Hibernate方言 --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.dialect"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"org.hibernate.dialect.MySQL5Dialect"</span> /&gt;</span>
        <span class="hljs-comment">&lt;!--配置数据库驱动 --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.connection.driver_class"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"com.mysql.jdbc.Driver"</span> /&gt;</span>
        <span class="hljs-comment">&lt;!--配置数据库用户名 --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.connection.username"</span>/&gt;</span>
        <span class="hljs-comment">&lt;!--配置数据库密码 --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.connection.password"</span>/&gt;</span>
        <span class="hljs-comment">&lt;!--配置数据库url --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.connection.url"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"jdbc:mysql://localhost:3306/sampledb"</span> /&gt;</span>
        <span class="hljs-comment">&lt;!--设置外连接抓取树的最大深度 --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.max_fetch_depth"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"3"</span> /&gt;</span>
        <span class="hljs-comment">&lt;!--自动输出schema创建DDL语句 --&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"hibernate.hbm2ddl.auto"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"update"</span> /&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">properties</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">persistence-unit</span>&gt;</span>

</persistence>

这样就可以了,点击确定后将在你制定的位置生成数据库对应的实体类,还有对应的xml文件;然后就可以编写service了

IDEA DATEBASE使用
  • 查看表
    IDEA DATEBASE使用

  • 打印日志
    IDEA DATEBASE使用