Linux 拨号vps windows公众号手机端

spring框架与mybatis的整合之SM编程DAO层开发

lewis 7年前 (2018-05-07) 阅读数 6 #程序编程
文章标签 spring

在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类:

@Repository

publicclassUserDaoImplimplementsUserDao{

@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会进行整合并提供事务管理等功能。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门