<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<mapping class="com.example.User"/>
</session-factory>
</hibernate-configuration>
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private int age;
}
Session session = HibernateUtil.getSessionFactory().openSession();
User user = new User();
user.setAge(20);
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
User result = session.get(User.class, 1);
System.out.println(result.getName());
User result = session.get(User.class, 1);
session.beginTransaction();
session.update(result);
session.getTransaction().commit();
User result = session.get(User.class, 1);
session.beginTransaction();
session.delete(result);
session.getTransaction().commit();
session.close();
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/UserMapper.xml"/>
</mappers>
</configuration>
<mapper namespace="com.example.UserMapper">
<resultMap id="BaseResultMap" type="com.example.User">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="age" property="age" jdbcType="INTEGER"/>
</resultMap>
<select id="getUser" resultMap="BaseResultMap">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
SqlSessionFactory sqlSessionFactory = MyBatisUtil.getSqlSessionFactory();
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User result = userMapper.getUser(1);
System.out.println(result.getName());
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User result = userMapper.getUser(1);
userMapper.updateUser(result);
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setAge(20);
userMapper.insertUser(user);
sqlSession.commit();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteUser(1);
sqlSession.commit();
sqlSession.close();
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="com.example"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<jpa:repositories base-package="com.example"/>
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private int age;
}
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
User findByName(String name);
List<User> findByAgeGreaterThan(int age);
}
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserRepository userRepository = context.getBean(UserRepository.class);
User user = new User();
user.setAge(20);
userRepository.save(user);
System.out.println(result.getName());
userRepository.save(result);
userRepository.delete(result);
((ClassPathXmlApplicationContext) context).close();