好像是用户名和登录名之间的联系,用来设置登录名权限的
数据库表映射问题
select * into B.dbo.a from A.dbo.a
就把表同步过去
如果只同步表结构
select * into B.dbo.a from A.dbo.a where 1<>1
如何:将实体映射到数据库表
是通过映射文件来映射的。举个简单的例子,例如我有个Teacher实体类(某教学管理系统老师用户):
private Integer id编号
private String name姓名
private String password密码
private Date createDate创建日期
同时,我创建了数据表TEACHER:
create table teacher( id number(9) primary key,--编号 name varchar2(20),--姓名 password varchar2(20),--密码 create_date date--创建日期)
这时,怎么关联它们呢?通过加载hibernate框架,我们就可以使用映射文件来关联实体类和数据库了
文件名:Teacher.hbm.xml(必须与实体类名字一致)
内容:
>
(SQL Server 导入和导出向导)里面,编辑映射和列映射什么意思?干嘛用的? 10分
这个就是讲,要做一个对应.
比方讲你要导入一个表.那假如你想把列1的内容导入到列2里面,你就需要告诉数据库你的这个需求.
此时,便需要添加一个列的映射.
希望对你有所帮助哈~~
SQLSERVER2000里怎么将一个数据库里的表映射到另一数据库
可以在需要被映射的服务器上,添加一个 连接服务器。
这样可以直接通过连接服务器访问你需要的数据表。
如何将含有继承关系的类图映射为关系数据库
库。 通常使用以下两种方法来映射继承关系: 1)将基类映射到一张表,每个子类映射到一张表。在基类对应的表中定义主键,而在 子类对应的表中定义外键。 2)将每个子类映射到一张表,没有基类表。在每个子类的表中包括基类的所有属性。 这种方法适用于子类的个数不多,基类属性比较少的情况。
POJO怎么映射成数据库的表?
用hibernate框架pojo里用hibernate注解 例如:package .ayumi.pojo
import java.io.Serializable
import javax.persistence.Columnimport javax.persistence.Entityimport javax.persistence.Idimport javax.persistence.Table
import org.hibernate.validator.NotNull
@Entity 实体对象@Table(name="users") 表名public class Users implements Serializable {private Integer idprivate String usernameprivate String password@Id 主键@Column(name="id") 列名public Integer getId() {return id}public void setId(Integer id) {this.id = id}@Column(name="username",length=20) 列名 及 长度设定@NotNull 非空设定public String getUsername() {return username}public void setUsername(String username) {this.username = username}@Column(name="password",length=20) 列名 及 长度设定public String getPassword() {return password}public void setPassword(String password) {this.password = password}}
这样就对表的字段定义好了然后编写main方法测试类public static void main(String[] args) {Configuration cfg=new AnnotationConfiguration().configure()SchemaExport eport=new SchemaExport(cfg)eport.create(true, true)}
执行,这样就会在hibernate.cfg.xml里配置好的相应连接中对应的数据库下创建成功数据库表
java中的映射是什么意思
简单的说就是把一个数据库表里的字段和一个java类里的属性对应起来,让程序知道这个java类里的这个属性应该是数据库哪个表里的哪个字段。
hibernate是通过什么标签实现实体类和表的映射的
10.1 实体类的映射
从Java的角度讲,实体类就是普通的Java封装类(有人称为POJO有人称为VO)。仅从实体类中的代码信息,Hibernate并不能得知该实体类对应哪个数据表,因此还需要以某种方式配置一下。常用的方式有*.hbm.xml文件配置与@注解配置两种。
hbm.xml文件就是普通的xml文件,hbm为Hibernate Mapping的缩写,这样从文件名上就能判断该文件为Hibernate实体类配置文件。在JPA出现之前,Hibernate都使用hbm.xml文件配置。JPA出现后,推荐使用JPA的@注解配置,因为对于所有的ORM框架,@注解都是通用的。
10.1.1 使用@注解配置实体类
实体类一般有ID、普通属性、 *** 属性等,分别对应数据库的主键、普通列、外键。@注解配置中,实体类用@Entity注解,用@Table指定对应的数据表,用@Id配置主键,用@Column配置普通属性,用@OneToMany、@ManyToOne、@OneToOne、@ManyToMany配置实体间关系等。实体类之间的关于在后面的章节中会做详细介绍。下面编写一个UsersVo类,在该类中使用@注解配置实体类的映射,UsersVo类的代码如下:
package .vo
import javax.persistence.*
@Entity 注解Entity表示该类纳入Hibernate管理,能够被持久化
@Table(name = "users") 指定该实体类对应的数据库表名
public class UsersVo {
Fields
@Id 指定该列为主键。
这个注解用来表示主键类型, auto为数据库自增长类型
@GeneratedValue(strategy = GenerationType.AUTO)
private int id
@Column(name = "name") 指定变量对应的数据库表的列为"name"
private String name
@Column(name = "age")指定变量对应的数据库表的列为"age"
private int age
@Column(name = "tel")指定变量对应的数据库表的列为"tel"
private String tel
@Column(name = "address")指定变量对应的数据库表的列为"address"
private String address
Constructors
public UsersVo() {
}
public UsersVo(int id) {
this.id = id
}
public UsersVo(int id, String name, int age, String tel,
String address) {
this.id = id
this.name = name
this.age = age
this.tel = tel
this.address = address......>>
1、类图主要表现的是模型中类与类之间的关系。2、数据库表与需持久化的类有对应关系。普通的持久化类,一个类对应一张表,一个属性对应一个字段,数据类型也有对应关系。根据类与类之间的关联关系,有继承,一对一,多对一,一对多,多对多等。处理这些关系的持久化又有不同的策略。
如继承的处理方式就分为多表继承、单表继承;多对一,在关联类中增加一个被关联类的主键字段,并增加外键;一对多,是多对一的反方向关联关系,比如:A、B两张表,A相对B来说是多对一,B相对A来说就是一对多;一对一与一对多类似,区别在于主表的主键在从表也是唯一的;多对多关系,两张表的关联关系就要存放在一张新的表中,存放两张表的主键。
额。。。这个提示好像只是说这个方法没有被引用吧
一年多没碰了,印象这个地方是坑了很久,翻了下以前的代码,发现几个线索
这个成员声明去掉private
SQLiteDatabase db
实现类里面有个这个东东,你在你的实现类里面加下试试,可能有效
public final static String DB_NAME = "test.db"
可以用这个函数调试,方法进去没有很清晰
android.util.Log.i("onCreate()", "create Database------------->")
去翻翻父类的机制,印象中里面调来调去的
附测过的源码(sdk的版本是20131030这个的)
package org.xxxx.andriod.iweather
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteDatabase.CursorFactory
import android.database.sqlite.SQLiteOpenHelper
import android.util.Log
public class DBHandle extends SQLiteOpenHelper {
private static final int VERSION = 1
// public final static String DB_PATH = "/sdcard/mydb/"
public final static String DB_NAME = "iweather.db"
SQLiteDatabase db
public DBHandle(Context context, String name) {
super(context, name, null, VERSION)
Log.i("init DBHandle:", "1")
}
public DBHandle(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version)
Log.i("init DBHandle:", "2")
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
// db = getWritableDatabase()
Log.i("onCreate()", "create Database------------->")
//这个表用于存放地市列表
db.execSQL("create table city_list(city_id varchar(20),city_name varchar(20),parent_id varchar(20),parent_name varchar(20),is_leaf int)")
//这个表用于存放地市ID和查询天气时用的地市编码映射关系
db.execSQL("create table city_code(city_id varchar(20),city_code varchar(20))")
Log.d("Sqlite onCreate...", db.toString())
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)