Hibernate(链接数据库方便得多)!
首先让我们看一下配置文件,我这里先是用struts搞得controller,不明白struts的可以去百度一下这里就不讲解了:
之后我们需要做一个hibernate的配置文件内容如下(这里链接的是mysql的数据库):
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/库名</property>
<property name="connection.username">用户名</property>
<property name="connection.password">密码</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping resource="mapping/JueAction.hbm.xml"></mapping>
<mapping resource="mapping/Quan.hbm.xml"></mapping>
<mapping resource="mapping/User.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
等到hibernate这个配置文件写好我们还需要写好每个类的配置文件,用处是整理类之间的关系:
<?xml version='1.0'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.linyi.bean.(你的类名)" table="(你数据库中的表名)">
//类中与表中的对应的字段
<id name="id" column="id">
//设置这个字段为主键
<generator class="native" />
</id>
<property name="name" column="name" />
//下面是表中与外表的关系,比如一对一,一对多,多对一,多对多(这里就不详细介绍是什么了,不明白的可以去问度娘)
//我这里写的是多对多的关系
<set name="用来找关系的字段名" table="中间关系表的表名" cascade="save-update">
<key column="关系表中用来维护关系的字段名"></key>
<many-to-many column="关系表中维护另一个表关系的字段名" class="com.linyi.bean.(这个字段关联的表)" lazy="false"></many-to-many>
</set>
</class>
</hibernate-mapping>
这些配置文件要根据你的类写出来,需要多少就写多少,配置好之后我们就可以运用hibernate了,接下来让我们看一下查询数据是有多便利:
//这里只是一个测试public class Test1 {
//写出你需要调用的方法
public List<类名> test1(){
//这一段直接考过去就是,虽说有些方法 已经过时了,可还是蛮好用的,不要问我为什么用过时的方法,因为我是菜鸟,别的不会。。
Configuration con = new Configuration().configure();
SessionFactory sessionFactory = con.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
//在这里我们就可以使用hql的语句来进行查询了,看起来是不是简单又刺激呢?
//这是一个条件查询,如果你不需要条件,where之后你就不需要哦!
String hql = "from com.linyi.bean.(注意这里使用类名就可以哦) where name = :name";
Query query = session.createQuery(hql);
//这里是用来给语句中的某个变量赋值,可以自己写,也可以从别的类传过来哦!
query.setParameter("name","admin1");
//我们可以的到这个类的list集合哦!
List<类名> 变量名 = query.list();
transaction.commit();
session.close();
return 变量名;
}
}
这里需要注意导包
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
这些是hibernate需要用到的包,可以自己去官网下载
这样的一套下来是不是很简单呢,这里只给大家展示了普通的查询,还有其他的删除,修改,添加之类的大家也可以去
hibernate官网上去寻找哦!很简单的,方便了好多有木有?
Hibernate(链接数据库方便得多)!的更多相关文章
- Spring笔记④--spring整合hibernate链接数据库
整合hibernate 整合什么? 有ioc容器来管理hibernate的SessionFactory 让hibernate使用上spring的声明式事务 先加入hibernate 驱动包 新建hib ...
- hibernate链接数据库链接池c3p0配置
[html] view plain copy <bean id="dataSourceLocal" name="dataSource" class=&qu ...
- 关于Hibernate 的数据库配置
<hibernate-configuration> <session-factory name="mySessionFactory"> ...
- PHP学习-链接数据库
链接数据库文件:conn.php <?php $conn = mysql_connect("localhost:3306","root","us ...
- PHP 链接数据库1(连接数据库&简单的登录注册)
对 解析变量的理解 数据库的名称和表的名称不能重复 从结果中取出的数据 都是以数组的形式取出的 1.PHP查询数据库中的某条信息 //PHP链接数据库 /*1.造链接对象 IP地址 用户名 密码 ...
- JDBC的使用(一):引用外部jar;代码链接数据库
一:引用外部jar 1.首先不jar文件放到项目下: 2.在Eclipse中,右键相应的项目--构建路径--配置构建路径--库--添加外部jar:选中-打开-应用-确定. 二:代码链接数据库 1.加载 ...
- Connect to Database Using Custom params链接数据库配置参数说明
使用RF的关键字Connect to Database Using Custom params链接数据库,对应的参数说明: a) 第一个参数我使用的是cx_Oracle,就写这个 b) ...
- php链接数据库
1:找到 ySQL服务器 $conn = mysql_connect("localhost","","") or die("链 ...
- 安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误
安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误 这个错误几个月以前解决过一次,但是到又碰到的时候,竟然完全忘记当时怎么解决的了, 看来上了年纪记忆真是越来越不行了... 解决方案很简单 ...
随机推荐
- Android NDK学习(一):目录结构解析
我们配置好NDK环境后,基本可以看到其目录结构如下图: 下面我们来分析一下NDK根目录的结构: ndk-build:该Shell脚本是Android NDK构建系统的起始点,一般在项目中仅仅执行这一个 ...
- 吴恩达机器学习笔记39-误差分析与类偏斜的误差度量(Error Analysis and Error Metrics for Skewed Classes)
如果你准备研究机器学习的东西,或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统,拥有多么复杂的变量:而是构建一个简单的算法,这样你可以很快地实现它. 构建一个学习算法的推荐方法为:1 ...
- Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)
导读 我们知道在基于Spring Cloud的微服务体系中,各个微服务除了在内部提供服务外,有些服务接口还需要直接提供给客户端,如Andirod.IOS.H5等等. 而一个很尴尬的境地是,如果直接将提 ...
- 【Java提高】---通过UUID、SHA-1、Base64组合加密
通过UUID.SHA-1.Base64组合加密 该篇文章实现的最终效果是: 1)加密是不可逆的. 2)相同字符串加密产生后的字符串都不一样 3)所以要想比较两个字符串是否相等,需要用已经加过密的字符串 ...
- redis 系列2 知识点概述
一.概述 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表 ...
- [python]使用virtualenvWrapper
什么是virtualenv virtualenv是python的环境管理工具,用于隔离python的运行环境.也就是说,一个项目可以有一个属于这个项目的运行环境,从而避免了因为依赖不同的模块而产生的错 ...
- 【MySQL经典案例分析】关于数据行溢出由浅至深的探讨
本文由云+社区发表 一.从常见的报错说起 故事的开头我们先来看一个常见的sql报错信息: 相信对于这类报错大家一定遇到过很多次了,特别对于OMG这种已内容生产为主要工作核心的BG,在内容线的存 ...
- Golang中的自动伸缩和自防御设计
Raygun服务由许多活动组件构成,每个组件用于特定的任务.其中一个模块是用Golang编写的,负责对iOS崩溃报告进行处理.简而言之,它接受本机iOS崩溃报告,查找相关的dSYM文件,并生成开发者可 ...
- python捕获Ctrl+C信号
我们希望当服务器接收到一个 SIGTERM 信号时能够自动关机,或者做一些善后的操作,以下是实现的方法 import signal # 自定义信号处理函数 def my_handler(signum, ...
- Python下用Scrapy和MongoDB构建爬虫系统(1)
本文由 伯乐在线 - 木羊 翻译,xianhu 校稿.未经许可,禁止转载!英文出处:realpython.com.欢迎加入翻译小组. 这篇文章将根据真实的兼职需求编写一个爬虫,用户想要一个Python ...