idea中的Database非常好用,我这里主要用它逆向生成实体类。
应用场景:
前边介绍了关于框架的搭建,用到了逆向工程以及通用mapper,这里建议用通用mapper,如果后期需要增加表以及功能时,相对会更方便一些。
例如在搭建好SSM框架时用了通用mapper,然后要创建表,表字段非常多,这里就可以用到idea中的Database功能,连接后直接可逆向生成相对应的表。
详细步骤:
1.右边角一般都有Database,直接点开即可
如若没有,视图菜单下选择:view----Tool Windows----Database
2. 点击 添加按钮,选择相对应的数据库,这里以mysql举例
3. 填写连接数据库信息
填写对应的用户名 密码 数据库即可
此时填写完毕后,点击 Test Connerction,弹出报错信息
4. 根据提示信息,设置时区(两种方式)
1.第一种 直接在选择 Advanced ,找到serverTimezone ,设置为Hongkong,注意是Hongkong不是Hong Kong,即可。
返回测试连接,连接成功
2. 命令设置
登录mysql,设置时区
5. 数据库已连接成功,逆向生成实体类
1.点开查看数据库中的表
2. 选中数据库, (改正:右键选择所有表,不是选数据库!
3.此时,你的目录下已生成数据库中的类,蓝色的类是我改动代码了,红色部分是新添加的类没有commit,不要在意
4. 生成实体类,要注意的有哪些( 这里错了,没有这些的注解,没有删除,要改相应的包)
所生成的就是这样,已经写好了属性以及get set方法。
注意相对应的 注解
@Entity
实体类注解,要注意的是你数据库中的字段名,例如属性 adminId,但是你再数据库中的命名得是 admin_id, 因为调用通用mapper时候,其中条件是admin_id,逆向生成时候,自动解析把admin_id解析为adminId了。
@Basic
属性加载方式 lazy表示及时,eager 懒惰加载 默认即使加载
@Cloumn
用来标识实体类中属性与数据表中字段的对应关系.
@column (name=" "),简单理解就是表示数据库中的字段,即定义了被标注字段在数据库表中所对应字段的名称
另外要注意的是如果新加类的情况下,也就是新加表的情况下,要注意在dao层加上相对应的Mapper,并继承所对应Mapper<>。
新加的News类
dao层添加NewsMapper
继承Mapper
然后便可以在service层中直接调用方法了。
例如:新闻 查询
查询结果:
以及连表查询时候要注意的是添加一个添加映射文件,在相对应的文件下,要被扫描到
大概就是这些,互相学习,时间匆忙