spring框架与mybatis的整合之SM编程DAO层开发
在Spring框架与MyBatis的整合中,SM编程(Spring + MyBatis)是一种常见的DAO层开发方式。
下面是一个简单的示例:
首先,确保已经正确配置了Spring框架和MyBatis。
1. 创建DAO接口:在DAO层定义一个接口,用于声明数据访问操作的方法。例如,创建一个UserDao接口:
publicinterfaceUserDao{UsergetUserById(intid);
List<User>getAllUsers();
voidaddUser(Useruser);
voidupdateUser(Useruser);
voiddeleteUser(intid);
}
2. 创建DAO接口的实现类:实现上述接口,并使用MyBatis来执行相应的SQL语句。例如,创建一个UserDaoImpl类:
@RepositorypublicclassUserDaoImplimplementsUserDao{
@Autowired
privateSqlSessionFactorysqlSessionFactory;
@Override
publicUsergetUserById(intid){
try(SqlSessionsession=sqlSessionFactory.openSession()){
returnsession.selectOne("getUserById",id);
}
}
@Override
publicList<User>getAllUsers(){
try(SqlSessionsession=sqlSessionFactory.openSession()){
returnsession.selectList("getAllUsers");
}
}
@Override
publicvoidaddUser(Useruser){
try(SqlSessionsession=sqlSessionFactory.openSession()){
session.insert("addUser",user);
session.commit();
}
}
@Override
publicvoidupdateUser(Useruser){
try(SqlSessionsession=sqlSessionFactory.openSession()){
session.update("updateUser",user);
session.commit();
}
}
@Override
publicvoiddeleteUser(intid){
try(SqlSessionsession=sqlSessionFactory.openSession()){
session.delete("deleteUser",id);
session.commit();
}
}
}
3. 配置MyBatis的Mapper文件:在resources目录下创建一个与DAO接口相对应的Mapper XML文件(例如UserMapper.xml),并定义SQL语句。示例:
<mappernamespace="com.example.dao.UserDao"><selectid="getUserById"resultType="com.example.entity.User">
SELECT*FROMusersWHEREid=#{id}
</select>
<selectid="getAllUsers"resultType="com.example.entity.User">
SELECT*FROMusers
</select>
<insertid="addUser"parameterType="com.example.entity.User">
INSERTINTOusers(name,email)VALUES(#{name},#{email})
</insert>
<updateid="updateUser"parameterType="com.example.entity.User">
UPDATEusersSETname=#{name},email=#{email}WHEREid=#{id}
</update>
<deleteid="deleteUser"parameterType="int">
DELETEFROMusersWHEREid=#{id}
</delete>
</mapper>
4. 配置Spring的Bean:在Spring配置文件中,将`UserDaoImpl注入为一个Bean,并配置MyBatis的相关设置。示例:
<beanid="userDao"class="com.example.dao.UserDaoImpl"><propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>
</bean>
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<propertyname="mapperLocations"value="classpath*:com/example/mappers/*.xml"/>
</bean>
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--设置数据库相关配置-->
</bean>
通过以上步骤,你就可以在应用中使用UserDao接口的实现类进行数据库访问操作了,同时Spring和MyBatis会进行整合并提供事务管理等功能。
版权声明
本文仅代表作者观点,不代表米安网络立场。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。