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 Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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.在開啟的屬性窗口,將【開啟方式】修改為【禁用】,點選【應用程式】後點選【確定】。 6.點選開始徽標,然後點選關機按鈕,選擇【重啟】,完成電腦重啟就行了。

谷歌力推的JAX在最近的基準測試中表現已經超過Pytorch和TensorFlow,7項指標排名第一。而且測試並不是JAX性能表現最好的TPU上完成的。雖然現在在開發者中,Pytorch依然比Tensorflow更受歡迎。但未來,也許有更多的大型模型會基於JAX平台進行訓練和運行。模型最近,Keras團隊為三個後端(TensorFlow、JAX、PyTorch)與原生PyTorch實作以及搭配TensorFlow的Keras2進行了基準測試。首先,他們為生成式和非生成式人工智慧任務選擇了一組主流

在iPhone上面臨滯後,緩慢的行動數據連線?通常,手機上蜂窩互聯網的強度取決於幾個因素,例如區域、蜂窩網絡類型、漫遊類型等。您可以採取一些措施來獲得更快、更可靠的蜂窩網路連線。修復1–強制重啟iPhone有時,強制重啟設備只會重置許多內容,包括蜂窩網路連線。步驟1–只需按一次音量調高鍵並放開即可。接下來,按降低音量鍵並再次釋放它。步驟2–過程的下一部分是按住右側的按鈕。讓iPhone完成重啟。啟用蜂窩數據並檢查網路速度。再次檢查修復2–更改資料模式雖然5G提供了更好的網路速度,但在訊號較弱

哭死啊,全球狂煉大模型,一網路的資料不夠用,根本不夠用。訓練模型搞得跟《飢餓遊戲》似的,全球AI研究者,都在苦惱怎麼才能餵飽這群資料大胃王。尤其在多模態任務中,這問題尤其突出。一籌莫展之際,來自人大系的初創團隊,用自家的新模型,率先在國內把「模型生成數據自己餵自己」變成了現實。而且還是理解側和生成側雙管齊下,兩側都能產生高品質、多模態的新數據,對模型本身進行數據反哺。模型是啥?中關村論壇上剛露面的多模態大模型Awaker1.0。團隊是誰?智子引擎。由人大高瓴人工智慧學院博士生高一鑷創立,高

最近,軍事圈被這個消息刷屏了:美軍的戰鬥機,已經能由AI完成全自動空戰了。是的,就在最近,美軍的AI戰鬥機首次公開,揭開了神秘面紗。這架戰鬥機的全名是可變穩定性飛行模擬器測試飛機(VISTA),由美空軍部長親自搭乘,模擬了一對一的空戰。 5月2日,美國空軍部長FrankKendall在Edwards空軍基地駕駛X-62AVISTA升空注意,在一小時的飛行中,所有飛行動作都由AI自主完成! Kendall表示——在過去的幾十年中,我們一直在思考自主空對空作戰的無限潛力,但它始終顯得遙不可及。然而如今,

多模態文件理解能力新SOTA!阿里mPLUG團隊發布最新開源工作mPLUG-DocOwl1.5,針對高解析度圖片文字辨識、通用文件結構理解、指令遵循、外部知識引入四大挑戰,提出了一系列解決方案。話不多說,先來看效果。複雜結構的圖表一鍵識別轉換為Markdown格式:不同樣式的圖表都可以:更細節的文字識別和定位也能輕鬆搞定:還能對文檔理解給出詳細解釋:要知道,“文檔理解”目前是大語言模型實現落地的一個重要場景,市面上有許多輔助文檔閱讀的產品,有的主要透過OCR系統進行文字識別,配合LLM進行文字理
