hibernate对大数据资源的处理操作
bean文件 package tk.blank_hibernate.bean;import java.io.Serializable;import java.sql.Blob;public class Image implements Serializable{/** * */private static final long serialVersionUID = 1L;private Integer id;private Blob image;public Image
bean文件
package tk.blank_hibernate.bean; import java.io.Serializable; import java.sql.Blob; public class Image implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private Integer id; private Blob image; public Image() { super(); // TODO Auto-generated constructor stub } public Image(Integer id, Blob image) { super(); this.id = id; this.image = image; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Blob getImage() { return image; } public void setImage(Blob image) { this.image = image; } @Override public String toString() { return "Image [id=" + id + ", image=" + image + "]"; } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="tk.blank_hibernate.bean"> <class name="Image" table="image" catalog="hiber_jd"> <!-- 映射符主键 --> <id name="id" column="id"> <generator class="native"/> </id> <property name="image" column="image" type="blob" /> </class> </hibernate-mapping>
package tk.blank_hibernate.dao; import java.io.Serializable; import java.util.List; import java.util.Set; public interface BaseDao { /** * 增加数据 * * @param entity * @return */ void saveObject(Object entity); /** * 删除数据 * * @param entity */ void deleteObject(Object entity); /** * 根据ID删除数据 * * @param clazz * @param id */ void deleteObject(Class clazz, Serializable id); /** * 更改数据 * * @param entity */ void updateObject(Object entity); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object getObject(Class clazz, Serializable id); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object loadObject(Class clazz, Serializable id); /** * 查询数据表的所有数据 * @param clazz * @return */ List getObjectAll(Class clazz); } 处理图片的接口
package tk.blank_hibernate.dao; public interface ImageDao extends BaseDao { }
package tk.blank_hibernate.dao.impl; import java.io.Serializable; import java.util.HashSet; import java.util.List; import java.util.Set; import org.hibernate.Session; import org.hibernate.Transaction; import tk.blank_hibernate.bean.Goods; import tk.blank_hibernate.dao.BaseDao; import tk.blank_hibernate.util.BaseHibernateDaoImpl; public class BaseDaoImpl extends BaseHibernateDaoImpl implements BaseDao { @Override public void saveObject(Object entity) { System.out .println("开始执行BaseDaoImpl中的方法=======================saveObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.save(entity); transaction.commit(); } @Override public void deleteObject(Object entity) { System.out .println("开始执行BaseDaoImpl中的方法=======================deleteObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.delete(entity); transaction.commit(); } @Override public void deleteObject(Class clazz, Serializable id) { System.out .println("开始执行BaseDaoImpl中的方法=======================deleteObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.delete(getObject(clazz, id)); transaction.commit(); } @Override public void updateObject(Object entity) { System.out .println("开始执行BaseDaoImpl中的方法=======================updateObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.update(entity); transaction.commit(); } @Override public Object getObject(Class clazz, Serializable id) { System.out .println("开始执行BaseDaoImpl中的方法=======================getObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); Object object= session.get(clazz, id); return object; } @Override public Object loadObject(Class clazz, Serializable id) { System.out .println("开始执行BaseDaoImpl中的方法=======================loadObject"); return null; } @Override public List getObjectAll(Class clazz) { System.out .println("开始执行BaseDaoImpl中的方法=======================getObjectAll"); Transaction transaction = getSessionObject().beginTransaction(); List list = getSessionObject().createQuery("from "+clazz.getName()).list(); transaction.commit(); return list; } }
处理图片的类实现
package tk.blank_hibernate.dao.impl; import tk.blank_hibernate.dao.ImageDao; public class ImageDaoImpl extends BaseDaoImpl implements ImageDao { }
处理所有共同操作的service的接口
package tk.blank_hibernate.service; import java.io.Serializable; import java.util.List; public interface BaseService { /** * 增加数据 * * @param entity * @return */ void saveObject(Object entity); /** * 删除数据 * * @param entity */ void deleteObject(Object entity); /** * 根据ID删除数据 * * @param clazz * @param id */ void deleteObject(Class clazz, Serializable id); /** * 更改数据 * * @param entity */ void updateObject(Object entity); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object getObject(Class clazz, Serializable id); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object loadObject(Class clazz, Serializable id); /** * 查询数据表的所有数据 * * @param clazz * @return */ List getObjectAll(Class clazz); }
package tk.blank_hibernate.service; public interface ImageService extends BaseService { }处理所有共同方法的service的实现
package tk.blank_hibernate.service.impl; import java.io.Serializable; import java.util.List; import tk.blank_hibernate.dao.BaseDao; import tk.blank_hibernate.dao.impl.BaseDaoImpl; import tk.blank_hibernate.service.BaseService; public class BaseServiceImpl implements BaseService { BaseDao baseDao =new BaseDaoImpl(); @Override public void saveObject(Object entity) { System.out.println("开始执行BaseServiceImpl中的方法==============saveObject"); baseDao.saveObject(entity); } @Override public void deleteObject(Object entity) { System.out.println("开始执行BaseServiceImpl中的方法==============deleteObject"); baseDao.deleteObject(entity); } @Override public void deleteObject(Class clazz, Serializable id) { System.out.println("开始执行BaseServiceImpl中的方法==============deleteObject"); baseDao.deleteObject(clazz, id); } @Override public void updateObject(Object entity) { System.out.println("开始执行BaseServiceImpl中的方法==============updateObject"); baseDao.updateObject(entity); } @Override public Object getObject(Class clazz, Serializable id) { System.out.println("开始执行BaseServiceImpl中的方法==============getObject"); return baseDao.getObject(clazz, id); } @Override public Object loadObject(Class clazz, Serializable id) { System.out.println("开始执行BaseServiceImpl中的方法==============loadObject"); return baseDao.loadObject(clazz, id); } @Override public List getObjectAll(Class clazz) { System.out.println("开始执行BaseServiceImpl中的方法==============getObjectAll"); return baseDao.getObjectAll(clazz); } }
package tk.blank_hibernate.service.impl; import tk.blank_hibernate.service.ImageService; public class ImageServiceImpl extends BaseServiceImpl implements ImageService { }
单独产生session的接口
package tk.blank_hibernate.util;
import org.hibernate.Session;
public interface IHibernateConnection {
public Session getSessionObject();
}
单独产生session的实现类
package tk.blank_hibernate.util;
import org.hibernate.Session;
public class BaseHibernateDaoImpl implements IHibernateConnection {
@Override
public Session getSessionObject() {
return HiberUtil.openSession();
}
}
产生session的实质方法
package tk.blank_hibernate.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; public class HiberUtil { static Configuration cfg; static ServiceRegistry serviceRegistry; static SessionFactory sessionFactory; static{ cfg=new Configuration().configure(); serviceRegistry=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); sessionFactory =cfg.buildSessionFactory(serviceRegistry); } public static Session openSession(){ //返回当前的session的连接对象 return sessionFactory.getCurrentSession(); } }
<?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/hiber_jd </property> <property name="connection.username">root</property> <property name="connection.password">admin</property> <!-- 数据库的方言 --> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- 显示操作的sql语句 --> <property name="hibernate.show_sql">true</property> <!-- 格式sql语句 --> <property name="hibernate.format_sql">false</property> <!-- 自动创建和更新表结构 --> <property name="hibernate.hbm2ddl.auto">update</property> <mapping resource="tk/blank_hibernate/bean/Image.hbm.xml" /> </session-factory> </hibernate-configuration>
测试代码
package tk.blank_hibernate.junit; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Blob; import java.sql.SQLException; import org.hibernate.Hibernate; import org.junit.Test; import tk.blank_hibernate.bean.Image; import tk.blank_hibernate.service.ImageService; import tk.blank_hibernate.service.impl.ImageServiceImpl; import tk.blank_hibernate.util.HiberUtil; public class ImageTest { // 创建ImageService处理对象 ImageService imageService = new ImageServiceImpl(); @Test public void save() { // 创建img对象 Image image = new Image(); // 读取文件 File file = new File("F:\\webprogect\\hibernate_jd\\src\\ni.jpg"); try { // 创建文件的输入流,将文件加载到流中 FileInputStream fis = new FileInputStream(file); // 创建blob大数据对象|||||在4之后要用这样的方式获取 Blob blob = Hibernate.getLobCreator(HiberUtil.openSession()) .createBlob(fis, file.length()); //将大数据存储到 image.setImage(blob); imageService.saveObject(image); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void getImage() throws SQLException { Image image = (Image) imageService.getObject(Image.class, 1); // 判断得到得数据是否为空 if (image != null) { InputStream is = image.getImage().getBinaryStream(); File file = new File("D:\\a.jpg"); try { FileOutputStream fos = new FileOutputStream(file); byte buffer[] = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { fos.write(buffer, 0, len); } fos.close(); is.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









DDREASE は、ハード ドライブ、SSD、RAM ディスク、CD、DVD、USB ストレージ デバイスなどのファイル デバイスまたはブロック デバイスからデータを回復するためのツールです。あるブロック デバイスから別のブロック デバイスにデータをコピーし、破損したデータ ブロックを残して正常なデータ ブロックのみを移動します。 ddreasue は、回復操作中に干渉を必要としないため、完全に自動化された強力な回復ツールです。さらに、ddasue マップ ファイルのおかげでいつでも停止および再開できます。 DDREASE のその他の主要な機能は次のとおりです。 リカバリされたデータは上書きされませんが、反復リカバリの場合にギャップが埋められます。ただし、ツールに明示的に指示されている場合は切り詰めることができます。複数のファイルまたはブロックから単一のファイルにデータを復元します

0.この記事は何をするのですか?私たちは、多用途かつ高速な最先端の生成単眼深度推定モデルである DepthFM を提案します。従来の深度推定タスクに加えて、DepthFM は深度修復などの下流タスクでも最先端の機能を実証します。 DepthFM は効率的で、いくつかの推論ステップ内で深度マップを合成できます。この作品について一緒に読みましょう〜 1. 論文情報タイトル: DepthFM: FastMonocularDepthEstimationwithFlowMatching 著者: MingGui、JohannesS.Fischer、UlrichPrestel、PingchuanMa、Dmytr

1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

iPhone のモバイル データ接続に遅延や遅い問題が発生していませんか?通常、携帯電話の携帯インターネットの強度は、地域、携帯ネットワークの種類、ローミングの種類などのいくつかの要因によって異なります。より高速で信頼性の高いセルラー インターネット接続を実現するためにできることがいくつかあります。解決策 1 – iPhone を強制的に再起動する 場合によっては、デバイスを強制的に再起動すると、携帯電話接続を含む多くの機能がリセットされるだけです。ステップ 1 – 音量を上げるキーを 1 回押して放します。次に、音量小キーを押して、もう一度放します。ステップ 2 – プロセスの次の部分は、右側のボタンを押し続けることです。 iPhone の再起動が完了するまで待ちます。セルラーデータを有効にし、ネットワーク速度を確認します。もう一度確認してください 修正 2 – データ モードを変更する 5G はより優れたネットワーク速度を提供しますが、信号が弱い場合はより適切に機能します

世界は狂ったように大きなモデルを構築していますが、インターネット上のデータだけではまったく不十分です。このトレーニング モデルは「ハンガー ゲーム」のようであり、世界中の AI 研究者は、データを貪欲に食べる人たちにどのように餌を与えるかを心配しています。この問題は、マルチモーダル タスクで特に顕著です。何もできなかった当時、中国人民大学学部のスタートアップチームは、独自の新しいモデルを使用して、中国で初めて「モデル生成データフィード自体」を実現しました。さらに、これは理解側と生成側の 2 つの側面からのアプローチであり、両方の側で高品質のマルチモーダルな新しいデータを生成し、モデル自体にデータのフィードバックを提供できます。モデルとは何ですか? Awaker 1.0 は、中関村フォーラムに登場したばかりの大型マルチモーダル モデルです。チームは誰ですか?ソフォンエンジン。人民大学ヒルハウス人工知能大学院の博士課程学生、ガオ・イージャオ氏によって設立されました。

最近、軍事界は、米軍戦闘機が AI を使用して完全自動空戦を完了できるようになったというニュースに圧倒されました。そう、つい最近、米軍のAI戦闘機が初めて公開され、その謎が明らかになりました。この戦闘機の正式名称は可変安定性飛行シミュレーター試験機(VISTA)で、アメリカ空軍長官が自ら飛行させ、一対一の空戦をシミュレートした。 5 月 2 日、フランク ケンダル米国空軍長官は X-62AVISTA でエドワーズ空軍基地を離陸しました。1 時間の飛行中、すべての飛行動作が AI によって自律的に完了されたことに注目してください。ケンダル氏は「過去数十年にわたり、私たちは自律型空対空戦闘の無限の可能性について考えてきたが、それは常に手の届かないものだと思われてきた」と語った。しかし今では、

テスラのロボット「オプティマス」の最新映像が公開され、すでに工場内で稼働可能となっている。通常の速度では、バッテリー(テスラの4680バッテリー)を次のように分類します:公式は、20倍の速度でどのように見えるかも公開しました - 小さな「ワークステーション」上で、ピッキング、ピッキング、ピッキング:今回は、それがリリースされたハイライトの1つビデオの内容は、オプティマスが工場内でこの作業を完全に自律的に行い、プロセス全体を通じて人間の介入なしに完了するというものです。そして、オプティマスの観点から見ると、自動エラー修正に重点を置いて、曲がったバッテリーを拾い上げたり配置したりすることもできます。オプティマスのハンドについては、NVIDIA の科学者ジム ファン氏が高く評価しました。オプティマスのハンドは、世界の 5 本指ロボットの 1 つです。最も器用。その手は触覚だけではありません
