SQL_SERVER使用教程

1 配置服务器,注册服务器

请参考:百度经验


2 新建数据库

请参考:百度经验


3 myeclipse从数据库逆向生成JavaBean和Hurbernate映射文件

请参考:

主要:百度经验:实用myeclipse的反向工程生成hibernate映射文件 (全部按照此文章配置即可)

辅助:百度经验:myeclipse从数据库反射生成实体类和映射文件


补充:

第三步:

若您使用的是SQL Server 2008,url填写格式如下:

jdbc:sqlserver://localhost:1433;databaseName=TrainingCourseManagement

其中

localhost是我的服务器名。

1433是访问的端口号。

TrainingCourseManagement是我的数据库名。

SQL_SERVER使用教程_第1张图片


第5步:直接点finish即可。


若是已经完成了,一段时间后修改了数据库,需要重新进行反向工程,步骤将略有不同,如下:

首先将修改的表对应的实体类、DAO文件、.hbm.xml文件删除,即右键文件——>delete。注意,您在修改完一个表后,可能与之相关联的多个表都需要重新生成(即删除与某个表相关的三个文件后,Myeclipse中某些实体类,DAO文件等亦出错,这时,与这些相关的表也需要重新反向生成。),其他文件,如applicaionContext.xml等会自动更新。


第五步:直接点击next

SQL_SERVER使用教程_第2张图片

第六步:然后点击finish即可。

SQL_SERVER使用教程_第3张图片

然后运行项目,Console窗口中可能会提示"Invalid property 'sessionFactory' of bean class [...]"的错误,原因是DAO文件中继承的父类(按如上方法会extends BaseHibernateDAO)不对,应该将其改为"HibernateDaoSupport",然互import其所在的包名即可。


参考网站:

第一次进行反向工程时——新浪博客

修改了数据库后——百度知道(参考其中的“提问者评价”)

4 设置SQL Server五种约束,Primary Key约束、Foreign Key约束、Unique约束、Default约束和Check约束

请参考:CSDN博客,五种约束

请参考:百度经验,外键约束。注意:若欲将某列设置为外键,则此列要设置为允许为null。


5 数据库表设置自增长

右键你的表-->设计表-->找到你的id字段(类int型)-->标识-->是-->标识种子(初始值)-->标识递增量

原文地址:百度知道


6 设置默认值

对于想要设置默认值的列,首先将其设为允许为null,(如果你允许为null值的话,你所设置的默认值会无效,会默认为null),然后在“默认值或绑定”中输入默认的值,比如0。如下:


SQL_SERVER使用教程_第4张图片


注意:此处有大Bug!


若在插入Model的时候提示Property不能为null,则是SQL Server的Bug。

Linq to SQL中,对于数据库中允许为null,但是设置了默认值的字段,默认生成的Model会将null值插入,不会使用数据库的默认值。


解决方法:

a 使用insert语句插入

insert into 表名(货币种类,存款类型,密码)
values(default,活期,default)insert into 表名(存款类型)
values(活期)
“default”即对应设置了默认值的列。

b 给私有字段设置默认值

目前的解决办法是在私有字段上手工同步设置数据库的默认值。如果想保证数据库字段不因为代码疏忽而插入null值,设置字段默认值是无用的,仍然会被LINQ插入默认值,只能够设置此字段为not null。

即,用初始化器设置私有字段的默认值:private string _nvarcharNotnull = "AAA";


参考网站:

CSDN

百度知道

百度经验

==============================================================================================================

《使用经验》

7 修改表后修改失败

error: 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了阻止保存要求重新创建表的更改选项。
解决方法: SQL Server 工具-〉选项-〉左侧有个Designers〉表设计器和数据库设计器 ——> 阻止保存要求重新创建表的更改(右侧) 把钩去掉。不需要重启SQL Server。


你可能感兴趣的:(数据库)