Mybatisの基本(添付:Mybatisを使用して追加、削除、変更、およびチェックする簡単な方法)

Mybatis

1.はじめに

Mybatisは、通常のSQLクエリ、ストアドプロシージャ、高度なマッピングをサポートする優れた持久层フレームワークですMybatisは、jdbcコードとパラメーターのほとんどすべての手動設定、および結果セットの取得とパッケージ化を排除します。Mybatisは、構成と元のマッピングに単純なxmlまたは注釈を使用できます。インターフェイスのpojo(プレーンオールドJavaオブジェクト、エンティティクラス、通常のJavaオブジェクト)をデータベース内のレコードにマップします。

永続層:Javaオブジェクトをデータベースに保存するプロセスは、永続層dao層mybatisの半自動フレームワークであり、SQLステートメントを記述する必要があります

JDBC-> dbutils-> MyBatis-> Hibernate

2、mybatisクイックスタート

Mybatisに基づいたテスト例を作成します(追加、削除、変更、チェック)。

  • ステップ:
    • 1.mybatis.jarパッケージをインポートします

      【mybatis】
      mybatis-3.1.1.jar
      【MYSQL 驱动包】
      mysql-connector-java-5.1.7-bin.jar
      
    • 2.mybatis構成ファイルmybatis-conf.xmlを追加します

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
      <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/mybatis" />
      <property name="username" value="root" />
      <property name="password" value="root" />
      </dataSource>
      </environment>
      </environments>
      </configuration>
      
    • 3.テーブルに対応するエンティティクラスを定義します

      public class User {
          private int id;
          private String name;
          private int age;
      }
      
    • 4.ユーザーテーブルを操作するためのSQLマッピングファイルUserMapper.xmlを定義します

      <mapper namespace="dong">
          <!--
              resultType:实体类的全局路径
          -->
          <select id="getUser" parameterType="int" resultType="com.hong.entity.User">
               select * from users where id=#{id}
          </select>
      
          <insert id="insertUser" >
              insert into users(name,age) values(#{name},#{age})
          </insert>
      
          <delete id="deleteUser">
              delete from users where id=#{id}
          </delete>
      
          <update id="updateUser">
              update users set name=#{name } where id=#{id}
          </update>
      
    • 5.mybatis-conf.xmlファイルにuserMapper.xmlを登録します

      <mappers>
              <!--映射文件的路径-->
              <mapper resource="mapper/UserMapper"></mapper>
          </mappers>
      
    • 6.テストコードを記述します。定義されたselectステートメントを実行します

      //1. 读取配置文件
              Reader reader = Resources.getResourceAsReader("mybatis-config");
              //2. 构建Session工厂
              SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
              //3. 创建能执行映射文件中的sql的sqlSession
              SqlSession sqlSession = sqlSessionFactory.openSession();
              //4.执行sql
              //查询
              /*User user = sqlSession.selectOne("dong.getUser", 1);
              System.out.println(user);*/
              //新增
              /*int insert = sqlSession.insert("dong.insertUser", new User(4, "丁丁", 18));
              //事务提交
              sqlSession.commit();
              System.out.println("a!!!!!!!!!!");*/
              //删除
              /*int delete = sqlSession.delete("dong.deleteUser", 4);
              sqlSession.commit();
              System.out.println("a~~~~~~~~~~`");*/
              //修改
              int jhon = sqlSession.update("dong.updateUser", new User(2, "Jhon", 11));
              sqlSession.commit();
              System.out.println("a~~~~~~~~~~~~~~``");
      

3つ目は、ユーザーテーブルのクラッドを操作する

3.1XMLの実装

  1. SQLマッピングxmlファイルを定義します。
<insert id="insertUser" parameterType="com.hong.entity.User">
insert into user(name, age) values(#{name}, #{age});
</insert>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
<update id="updateUser" parameterType="com.hong.entity.User">
update user set name=#{name},age=#{age} where id=#{id}
</update>
<select id="getOneUser" parameterType="int" resultType="com.hong.entity.User">
select * from user where id=#{id}
</select>
<select id="getAllUser" resultType="com.hong.entity.User">
select * from user
</select>
  1. このマッピングファイルをmybatis-config.xmlに登録します
<mappers>
	<mapper resource="com/hong/mybatis_test/test1/UserMapper.xml"/>
</mappers>

第四に、実際の開発モデル

インターフェイスは、マッピングファイルと組み合わせて使用​​されます

1.インターフェースを作成します

public interface UserDao {
    /**
     * 查询所有的用户信息
     */
    public List<User> getAllUser();

    /**
     * 根据id查询用户信息
     */
    //@Param:表示把该参数的名称作为映射文件的参数名
    public Users getByNameAndAge(int id);
}

インターフェイスに書き込むメソッドを記述します

2.マッピングファイルを作成します

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--映射文件中 namespace必须和接口的全路径匹配-->
<mapper namespace="com.hong.dao.UserDao">

    <!--
		id 名称必须和接口中的方法名一致
		查询语句中的resultType必须写
	-->
    <select id="getAllUser"  resultType="com.hong.entity.User">
         select * from users
    </select>
    
    <select id="getByNameAndAge" resultType="com.hong.entity.User">
         select * from users where id=#{id}
    </select>
</mapper>

おすすめ

転載: blog.csdn.net/qq_54605990/article/details/115017460