91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

spring框架與mybatis的整合之SM編程DAO層開發

小云
87
2023-09-28 17:28:58
欄目: 編程語言

在Spring框架與MyBatis的整合中,SM編程(Spring + MyBatis)是一種常見的DAO層開發方式。

下面是一個簡單的示例:

首先,確保已經正確配置了Spring框架和MyBatis。

1. 創建DAO接口:在DAO層定義一個接口,用于聲明數據訪問操作的方法。例如,創建一個UserDao接口:

public interface UserDao {

    User getUserById(int id);

    List<User> getAllUsers();

    void addUser(User user);

    void updateUser(User user);

    void deleteUser(int id);

}

2. 創建DAO接口的實現類:實現上述接口,并使用MyBatis來執行相應的SQL語句。例如,創建一個UserDaoImpl類:

@Repository

public class UserDaoImpl implements UserDao {

    @Autowired

    private SqlSessionFactory sqlSessionFactory;

    @Override

    public User getUserById(int id) {

        try (SqlSession session = sqlSessionFactory.openSession()) {

            return session.selectOne("getUserById", id);

        }

    }

    @Override

    public List<User> getAllUsers() {

        try (SqlSession session = sqlSessionFactory.openSession()) {

            return session.selectList("getAllUsers");

        }

    }

    @Override

    public void addUser(User user) {

        try (SqlSession session = sqlSessionFactory.openSession()) {

            session.insert("addUser", user);

            session.commit();

        }

    }

    @Override

    public void updateUser(User user) {

        try (SqlSession session = sqlSessionFactory.openSession()) {

            session.update("updateUser", user);

            session.commit();

        }

    }

    @Override

    public void deleteUser(int id) {

        try (SqlSession session = sqlSessionFactory.openSession()) {

            session.delete("deleteUser", id);

            session.commit();

        }

    }

}

3. 配置MyBatis的Mapper文件:在resources目錄下創建一個與DAO接口相對應的Mapper XML文件(例如UserMapper.xml),并定義SQL語句。示例:

<mapper namespace="com.example.dao.UserDao">

    <select id="getUserById" resultType="com.example.entity.User">

        SELECT * FROM users WHERE id = #{id}

    </select>

    <select id="getAllUsers" resultType="com.example.entity.User">

        SELECT * FROM users

    </select>

    <insert id="addUser" parameterType="com.example.entity.User">

        INSERT INTO users (name, email) VALUES (#{name}, #{email})

    </insert>

    <update id="updateUser" parameterType="com.example.entity.User">

        UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}

    </update>

    <delete id="deleteUser" parameterType="int">

        DELETE FROM users WHERE id = #{id}

    </delete>

</mapper>

4. 配置Spring的Bean:在Spring配置文件中,將`UserDaoImpl注入為一個Bean,并配置MyBatis的相關設置。示例:

<bean id="userDao" class="com.example.dao.UserDaoImpl">

    <property name="sqlSessionFactory" ref="sqlSessionFactory" />

</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

    <property name="dataSource" ref="dataSource" />

    <property name="mapperLocations" value="classpath*:com/example/mappers/*.xml" />

</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

    <!-- 設置數據庫相關配置 -->

</bean>

通過以上步驟,你就可以在應用中使用UserDao接口的實現類進行數據庫訪問操作了,同時Spring和MyBatis會進行整合并提供事務管理等功能。

0
巨野县| 凌海市| 永胜县| 博爱县| 达孜县| 佛坪县| 铜川市| 简阳市| 长丰县| 宝应县| 五峰| 买车| 航空| 蚌埠市| 三台县| 萝北县| 军事| 云阳县| 民权县| 阜康市| 朝阳县| 吉水县| 鱼台县| 山阳县| 祁东县| 武夷山市| 垣曲县| 西宁市| 普兰县| 罗江县| 启东市| 刚察县| 霍山县| 广元市| 甘德县| 湖州市| 丹巴县| 吴桥县| 夏津县| 梁平县| 福贡县|