<dd id="bt93c"><center id="bt93c"></center></dd>
    1. <th id="bt93c"></th>
          1. <rp id="bt93c"><acronym id="bt93c"><u id="bt93c"></u></acronym></rp>

            Hibernate初體驗

            小編:管理員 497閱讀 2022.09.14

            由于小編最近要接手一個用Hibernate寫的項目,所以就學了一下,如果之前學過Spring Date Jpa的小伙伴看起來應該很簡單!

            Hibernate簡介

            Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。 ---------->來自百度

            基于注解創建實體

            @Entity  //實體映射
            @Table(name = "user")  //數據庫表白
            public class User {
             
             @Id //主鍵id
             @GeneratedValue //主鍵生成方式
             private int id;
             
             @Column(name = "name") //字段名
             private String name;
             
             @Column(name = "pwd")
             private String pwd;
             
             @Column(name = "adder")
             private String adder;
             
             @Column(name = "age")
             private int age;
             
             @Column(name = "salary")
             private double salary;
            復制

            }

            注:正規寫法是將注解寫在屬性的get方法上

            創建Dao

            import com.yanghj.ssh.entity.User;
            
            /**
            * @ClassName: UserRepository  
            * @Description: UserDao  
            * @author yang hai ji  
            * @date 2018年6月7日
            */
            public interface UserRepository {
            
             //查詢所有用戶
             User findUser ();
            }
            復制

            Dao實現

            import org.hibernate.Session;
            import org.hibernate.SessionFactory;
            import org.hibernate.Transaction;
            import org.springframework.beans.factory.annotation.Autowired;
            import org.springframework.stereotype.Repository;
            
            import com.yanghj.ssh.entity.User;
            import com.yanghj.ssh.repository.UserRepository;
            
            /**
            * 
            * @ClassName: UserRepositoryImpl
            * @Description: 用戶dao層實現
            * @author yang hai ji
            * @date 2018年6月7日
            */
            @Repository
            public class UserRepositoryImpl implements UserRepository {
            
             @Autowired
             private SessionFactory sessionFactory;
            
             private Session getCurrentSession() {
               return this.sessionFactory.openSession();
             }
            
             @Override
             public User findUser() {
               return (User) getCurrentSession().get(User.class, 1);
             }
             }
            復制

            ServiceImpl

            /**
            * @ClassName: UserServiceImpl  
            * @Description:  用戶Service實現
            * @author yang hai ji  
            * @date 2018年6月7日
            */
            @Service
            public class UserServiceImpl implements UserService {
            
             @Autowired
             private UserRepository userRepository;
             
             @Override
             public User findUser() {
               return userRepository.findUser();
             }
            }
            復制

            Controller展示

            /**
             * @Title: findUser  
             * @Description: 根據id查詢用戶 
             * @param @return    參數  
             * @return User    返回類型  
             * @throws
             */
             @RequestMapping("/findUser")
             @ResponseBody
             public User findUser(){
                return userService.findUser();
             }
            復制

            Spring+Hibernate

            Spring + Hibernate

            
            
              
              
                  
                  
              
            
              
              
            
              
              
                    
                       
                     
                     
                        
                         
                        
                    
              
            
              
              
                  
                  
                  
                      
                          ${hibernate.hbm2ddl.auto} 
                          ${hibernate.dialect}   
                          ${hibernate.show_sql}     
                          ${hibernate.format_sql}     
                      
                  
              
            
              
              
                  
              
            
            
            復制

            SpringMvc

            
            
              
              
            
              
              
            
              
              
                  
                        
                     
              
            
              
              
              
              
            
            
            復制

            最終效果

            這是Hibernate自動生成的Sql語句哦,我們不需要編寫!

            瀏覽器效果

            以上內容希望對大家有幫助,初學,希望大家多多指教!

            END

            關聯標簽:
            久久99久久99小草精品免费看

            <dd id="bt93c"><center id="bt93c"></center></dd>
            1. <th id="bt93c"></th>
                  1. <rp id="bt93c"><acronym id="bt93c"><u id="bt93c"></u></acronym></rp>