Annotation 的第一个工程

一、什么是 Annotation?

java.lang.annotation,接口 Annotation。对于Annotation,是Java5的新特性,JDK5引入了Metadata(元数据)很容易的就能够调用Annotations。Annotations提供一些本来不属于程序的数据,比如:一段代码的作者或者告诉编译器禁止一些特殊的错误。An annotation 对代码的执行没有什么影响。Annotations使用@annotation的形式应用于代码:类(class),属性(attribute),方法(method)等等。一个Annotation出现在上面提到的开始位置,而且一般只有一行,也可以包含有任意的参数。

二、Annotation 有什么作用?

在创建EJB组件时,必需提供一些定义,使得EJB组件使用一些服务例如:安全服务,持久化服务,事务服务。EJB容器可以提供这些服务,这样EJB只要实现业务逻辑就可以了。但是说到底EJB容器使用EJB组件的元数据来提供这些服务,在以前EJB的元数据是以XML配置文件形式出现的,这些配置文件与EJB源文件是分开的。      EJB的部署人员无法了解EJB本身的信息,如果EJB组件的创建者用注。

三、Annotation 第一个工程,操作步骤如下:

1、建立新的 java 项目,名为:annotation_test,如下图:

2、加入响应的 jar 包

a)、菜单 Window --> Preferences --> Java --> Build Path --> User Libraries,点击按钮 “New”,命名为 “annotation”,如下图:

b)、选择“annotation”,点击“Add External JARs...”,把下面的这些 jar 引入添加进去,分别是:

hibernate-distribution\3.3.2\hibernate-distribution-3.3.2.GA\hibernate3.jar(核心JAR包

hibernate-distribution\3.3.2\hibernate-distribution-3.3.2.GA\lib\required\ 目录下的所有 jar 包

slf4j-1.5.8\slf4j-nop.jar

hibernate-annotations\3.4.0\hibernate-annotations-3.4.0.GA\hibernate-annotations.jar

hibernate-annotations\3.4.0\hibernate-annotations-3.4.0.GA\lib\ejb3-persistence.jar

hibernate-annotations\3.4.0\hibernate-annotations-3.4.0.GA\lib\hibernate-commons-annotations.jar

点击按钮 “确定”,

如下图:

3、引入 mysql 的 JDBC 驱动包

      a)、菜单 Window --> Preferences --> Java --> Build Path --> User Libraries,点击按钮 “New”,命名为 “Driver”,然后点击 “Driver”,点击按钮 “Add External JARs...”,点击按钮 “确定”, 如下图:

 b)、选择“driver”,点击“Add External JARs...”,把 Driver\MySql\mysql-connector-java-5.1.47\mysql-connector-java-5.1.47\mysql-connector-java-5.1.47.jar 引入添加进去,如下图:

4、将驱动引入项目工程,点击项目(hibernate_test),鼠标右击,选择 Build Path --> Add Libraries... --> User Library,点击按钮 “Next”;

      注意:选中工程,如果右键选中 Build Path 里面没有 Add Libraries... ,右键工程选中 Configure Build Path ,进入后,左边栏选中 java Build Path,再选中右边的 Libraries,再选 Add Libraries... ,然后再勾选 “annotation” 与 “driver” 添加就可以了

      如下图:

5、登陆本地 MySQL,创建数据库 annotation,并使用 annotation 库,在创建 teacher 表,步骤如下:

      mysql -hlocalhost -uroot -p,敲回车,然后输入密码

      create datebase annotation;

      use annotation;

      create table teacher(id int primary key, name varchar(20), title varchar(10));

6、建立 hibernate 配置文件 hibernate.cfg.xml,这个配置文件应建立在 src 目录下面,如下图:

hibernate.cfg.xml 文件里面的内容为:

注意:  

            a)、从参考文档中拷贝

            b)、修改对应的数据库连接

            c)、注释掉暂时用不上的内容

<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

	<session-factory>

		<!-- Database connection settings -->
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost/annotation</property> <!-- annotation是数据库的名字 -->
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>

		<!-- JDBC connection pool (use the built-in) -->
		<!-- <property name="connection.pool_size">1</property> -->

		<!-- SQL dialect(方言), 数据库的连接方式 -->
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

		<!-- Enable Hibernate‘s automatic session context management -->
		<!-- <property name="current_session_context_class">thread</property> -->

		<!-- Disable the second-level cache -->
		<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

		<!-- Echo all executed SQL to stdout -->
		<property name="show_sql">true</property>

		<!-- Drop and re-create the database schema on startup -->
		<property name="hbm2ddl.auto">create</property>

		<mapping class="annotation.model.Teacher"/> <!-- 这个是Annotation的写法 -->

	</session-factory>

</hibernate-configuration>

7、建立 Teacher 类,如下图:

Teacher 类的内容为: 

package annotation.model;

/**
 * JDBC 是一个标准
 * MySql Driver/Oracle Driver 等都是 JDBC 的实现
 * 或者说 hibernate 是 JDBC 的实现
 */

import javax.persistence.Entity; // 从包名可以看出, 它不依赖hibernate
import javax.persistence.Id;

@Entity
public class Teacher {

	private int id;
	private String name;
	private String title;

	@Id // 把注解Id加到主键上
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
}

8、在 hibernate.cfg.xml 中建立映射 <Mapping class=../>,将 <mapping class="annotation.model.Teacher"/> 添加到 配置文件中,如下图:

9、写一个测试类,如下图:

测试类的内容为:

package annotation.test;

/**
 * 目前用 main 来测试
 */

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import annotation.model.Teacher;

public class TeacherTest {

	public static void main(String[] args) {

		Teacher t = new Teacher();
		t.setId( 1 );
		t.setName( "I Love you" );
		t.setTitle( "高级" );

		Configuration cfg = new AnnotationConfiguration();
		SessionFactory sf = cfg.configure().buildSessionFactory();
		Session session = sf.openSession();

		// 在hibernate里面, 所有的操作都应放在事务里面
		session.beginTransaction();

		// 将数据保存到数据库里面
		session.save( t );

		// 提交数据
		session.getTransaction().commit();

		// 关掉数据库连接
		session.close();
		sf.close();

		String str = "\u4ea4\u6613\u6210\u529f";
		System.out.println( str );
	}
}

10、如果测试类成功执行,则可以通过sql语句查看数据,如下图:

原文地址:https://www.cnblogs.com/dgm2088/p/9904214.html

时间: 2024-08-03 06:42:42

Annotation 的第一个工程的相关文章

用Firefly创建第一个工程

原地址:http://blog.csdn.net/uxqclm/article/details/10382097 安装完成之后,在python script包中就存在 firefly-admin的工具. 创建第一个工程,firefly-admin.py createproject myproject,这样就创建好了myproject的工程,工程目录结构如下:startmaster.py是工程的启动模块,建立工程后可以直接启动startmaster.py进行测试.config.json是用来描述服

Ubuntu Eclipse SDL编程第一个工程

UFO SDL编程入门第一个工程 刚建立个工程,遇到了一个问题,就是SDL头文件和库路径的问题,总是提示找不到库,如图: 百度了很多种方法,都没能解决问题,很郁闷,最后在一篇安装SDL的文章中看到了,SDL里面有test程序,可以测试效果,于是乎我在test里面试了下例程,果然可以运行.既然它的可以运行,就一定有正确的路径设置.哈哈,解决问题的关键.下面请跟我一起来看看怎么解决(^水平有限啊,不足之处请多指正^) 现在这个问题解决了,希望能对大家有所帮助: 使用Eclipse编译环境,学习SDL

hibernate 的第一个工程

一.什么是Hibernate? Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2

RTT第一个工程

第一个RTT工程 1. 配置工程 选择芯片STM32F103C8(其包含该芯片的Flash及SRAM介绍): Jlink  SW模式 output->Debug info/Browse info,可以直接定位函数和变量. 2. 修改LED相关GPIO. 3. 核对串口. RTConfig.h中定义串口终端RT_CONSOLE_DEVICE_NAME “uart1” Drivers/uarst.c中定义串口1 GPIO和baud. 4. 晶振.定义在STM32f10x_conf.h,定义外部晶振8

C语言第一个工程,简易计算器

1 # define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 int main() 4 { 5 6 7 while (true) 8 { 9 10 double a, b; 11 12 char or; 13 printf("请输入第一个数字:"); 14 scanf("%lf", &a); 15 printf("请输入运算符:"); 16 scanf("%s&q

TeamCity : 配置第一个工程

前面我们已经创建了TeamCity Server 和一个 Agent,接下来我们为一个.net core 控制台程序配置自动化的编译. 创建 .net core 项目 我们在本地创建一个简单的 .net core demo程序 hello (这里假设您已经安装了.net core 的 SDK): mkdir hello cd hello dotnet new dotnet restore dotnet run 如果能看到输出 "Hello World!",就说明demo 程序已经OK了

NORDIC nRF24LE1 学习笔记 Day01 安装环境与创建第一个工程

首先 First 准备软件安装包 perpare the softwaer installation pachage ①Keil C51(Version 9.00 or  newer) ②nRFgo Studio(Version 1.4 or newer) ③nRFgo SDK(Version 2.2 or newer) ④nRFprobe (Version 1.2.0.5585 or newer) 准备硬件 perpare the Hardware ①nRFgo Starter Kit(nRF

Django2第一个工程

开发Django应用的典型工作流程是:先创建模型,接着最先让管理页run起来,这样你的同事或者客户就可以开始往系统里填数据. 然后,开发如何将数据展示给公众的部分. 创建一个项目: django-admin startproject mysite 进入mysite目录,启动开发服务器: $ python manage.py runserver 访问:http://127.0.0.1:8000 指定端口: $ python manage.py runserver 8080 创建应用: $ pyth

qt 创建第一个工程

首先新建一个项目 创建文件名 创建工程名 原文地址:https://www.cnblogs.com/fanhua666/p/12289370.html