初心者はmybatisを使用します-初日

初心者はmybatisを使用します

1. Mybatis ****

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

JDBC-> dbutils-> MyBatis-> Hibernate

2.Mybatis クイックスタート

mybaitsに 基づいた最初のテスト例を書いてください

2.1。 追加 のjar パッケージを

【mybatis】
mybatis-3.1.1.jar
【MYSQL 驱动包】
mysql-connector-java-5.1.7-bin.jar

2.2。 ライブラリとテーブルを作成する

create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME
VARCHAR(20), age INT);
INSERT INTO users(NAME, age) VALUES('Tom', 12);
INSERT INTO users(NAME, age) VALUES('Jack', 11);

2.3。 追加 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>

2.4。 テーブルに対応するエンティティクラスを定義します

public class User {
    
    
private int id;
private String name;
private int age;
//get,set 方法
}

2.5。 定義 SQLのマッピングファイルのための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="com.ykq.mybatis_test.test1.userMapper">
<select id="getUser" parameterType="int" resultType="com.ykq.mybatis_test.test1.User">
select * from users where id=#{id}
</select>
</mapper>

2.6。 登録userMapper.xmlのファイル conf.xml ファイル

<mappers>
<mapper resource="com/ykq/mybatis_test/test1/userMapper.xml"/>
</mappers>

2.7。 テストコードの記述:定義された select ステートメントを実行します

public class Test {
    
    
public static void main(String[] args) throws IOException {
    
    
String resource = "conf.xml";
//加载 mybatis 的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader(resource);
//构建 sqlSession 的工厂
SqlSessionFactory sessionFactory = new
SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中 sql 的 sqlSession
SqlSession session = sessionFactory.openSession();
//映射 sql 的标识字符串
String statement = "com.atguigu.mybatis.bean.userMapper"+".selectUser";
//执行查询返回一个唯一 user 对象的 sql
User user = session.selectOne(statement, 1);
System.out.pritln(user);
}
}

よくある間違い

ここに画像の説明を挿入します
解決策:mybatis-configで、マッピングファイルについて説明しますimport mybatis-config.xml
ここに画像の説明を挿入します
ここに画像の説明を挿入します
mybatis文字化けした解決策
ここに画像の説明を挿入します
ここに画像の説明を挿入します
はこのエラーが表示されます
ここに画像の説明を挿入します
解決策:mybatis-config.xmlのデータベース接続URLの後にタイムゾーンを追加します

serverTimezone = Asia / Shanghai&useUnicode = true&characterEncoding = utf8&useSSL = true

url:jdbc:mysql: `` // localhost:3306 / test?serverTimezone = Asia / Shanghai&useUnicode = true&characterEncoding = utf8&useSSL = true

Mybatisパスパラメータ対応問題

mybatisinsertステートメントここに画像の説明を挿入します
mybatisdao layerメソッドパラメーターが@Paramアノテーションに記述されていない場合、クエリステートメントのマッピングファイルの追加、削除、および変更のフィールドは1対1の対応(着信パラメータはオブジェクトまたはパラメータにすることができます)、
ここに画像の説明を挿入します
ここに画像の説明を挿入します
複数のパラメータの場合は、Paramアノテーションが必要であり、マッピングファイルのSQLステートメントは1対1で対応できます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_44709837/article/details/115023435