検索

Mybatis の簡単な例

Nov 02, 2016 am 10:36 AM
javaweb

まず、新しい JavaWeb プロジェクトを作成し、mybatis が依存する jar パッケージをインポートします。同時に、Mybatis はデータベース上で動作するため、デモンストレーション用にデータベースに新しいテーブル ユーザーを作成する必要があります。

新しいテーブルを作成した後、対応するエンティティ クラス User.java を作成し、set メソッドと get メソッドを追加する必要もあります:

public class User {
    private String username;
    private String password;
    private int age;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

Mybatis では、エンティティ クラスに対応するマッピング ファイル userMapper.xml を作成する必要があります:

<?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">
<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名)
 -->
<mapper namespace="com.mybatis.mapping.userMapper">
    <!-- 在select标签中编写查询的SQL语句,id属性值必须是唯一的
    使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
    -->
    <!-- 
        根据username查询得到一个user对象
     -->
    <select id="getUser" parameterType="java.lang.String" 
        resultType="com.mybatis.po.User">
        select * from user where username=#{username}
    </select>
    
       <delete id="deleteUser" parameterType="java.lang.String">
        delete from user where username=#{username}
    </delete>
</mapper>

最後に、Mybatis とデータベース接続用の新しい設定ファイル config.xml を src の下に作成し、上記の userMapper.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/test" />
                <property name="username" value="root" />
                <property name="password" value="" />
            </dataSource>
        </environment>
    </environments>
     <mappers>
        <!-- 注册userMapper.xml文件,resource为userMapper.xml所在目录-->
         <mapper resource="com/mybatis/mapping/userMapper.xml"/>
     </mappers>
</configuration>

ここでの設定データベース接続情報はそれほど変わりません。 Hibernate から、新しい Use a Test クラスを作成してテストします。

public class Test {

    public static void main(String[] args) throws IOException {
        //mybatis的配置文件
        String resource = "config.xml";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
        //构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        //打开session
        SqlSession session = sessionFactory.openSession();
        /**
         * 映射sql的标识字符串
         *com.mybatis.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         */
        String statement = "com.mybatis.mapping.userMapper.getUser";//映射sql的标识字符串
        //执行查询返回一个唯一user对象的sql
        User user = session.selectOne(statement,"username1");
        System.out.println(user.getUsername());
        String statement2="com.mybatis.mapping.userMapper.deleteUser";
        session.delete(statement2,user);
    }
}

selectOne メソッドを実行すると、ユーザー オブジェクトが返されます (複数のデータをクエリしたい場合は、selectList を使用できます。このメソッドは List を返します) オブジェクト) コンソールにユーザーオブジェクトのユーザー名を出力します。delete メソッドを実行すると、オブジェクトに対応するデータを直接削除でき、実行が成功したかどうかはデータベースの変更に基づいて判断できます。以下は私のプロジェクトのディレクトリです。参照してください:

Mybatis の簡単な例

上記は Mybatis の簡単な例です。もちろん、userMapper.xml では、OGNL を使用して動的 SQL ステートメントを生成することもできます。興味があるなら、自分で勉強することもできます。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン