mybatisは出会った穴を使う

3186 ワード


参照先:https://blog.csdn.net/winter_chen001/article/details/78623700 
参照先:https://blog.csdn.net/u011229848/article/details/81750005
1.At least one base package must be specified
スキャンをmapperに追加するMapperScan()
2.Unsatisfied dependency expressed through field 
mybatis以来 


    com.baomidou
    mybatis-plus-boot-starter
    2.2.0

3.java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
タイムゾーンの不統一による
ソリューション
URLにパラメータserverTimezone=UTCを追加すればよく、ここでのタイムゾーンは自分のデータベースの設定に合わせて設定できます(GMT/UTC).
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
SpringbootでMybatis注釈を使用した構成の詳細
パラメータ伝達方式は異なるパラメータ伝達方式を使用する:
@Paramを使用する前のブログの項目では、この簡単なパラメータ方式が使用されていました.
    @Insert("INSERT INTO T_USER(NAME, PASSWORD, PHONE) VALUES(#{name}, #{password}, #{phone})")     int insert(@Param("name") String name, @Param("password") String password, @Param("phone") String phone); 1 2 3理解:@Paramではnameがsqlの#{name}に対応することを定義し,passwordはsqlの#{password}に対応し,phoneはsqlの#{phone}に対応する.
Mapを使用して、Mapオブジェクトからパラメータを渡します.
    @Insert("INSERT INTO T_USER(NAME, PASSWORD, PHONE) VALUES("+             "#{name, jdbcType=VARCHAR}, #{password, jdbcType=VARCHAR}, #{phone, jdbcType=VARCHAR})")     int insertByMap(Map map); 1 2 3 Insert文に必要なパラメータについては、次のコードに示すように、mapに同じ名前の内容を入力するだけです.
Map map = new HashMap<>();         map.put(「name」,「王五」);        map.put("password","23423");         map.put("phone", "13400000000");         userMapper.insertByMap(map); 1 2 3 4 5オブジェクトを使用クエリー条件のパラメータとして通常のjavaオブジェクトを使用する場合:
    @Insert("INSERT INTO T_USER(NAME, PASSWORD, PHONE) VALUES(#{name}, #{password}, #{phone})")     int insertByUser(User user); 1 2 3文中の#{name},#{age}のみがUserオブジェクトのnameとage属性に対応する.
    User u = new User();         u.setName(「趙六」);        u.setPassword("12312312");         u.setPhone("13888888888");         userMapper.insertByUser(u); 1 2 3 4 5削除変更MyBatisは、異なるデータベース操作に対してそれぞれ異なる注釈を提供して構成されています.前の例では@Insertを実証しました.次に、Userテーブルについて最も基本的な削除変更のセットを例にします.
    @Select("SELECT * FROM T_USER WHERE PHONE = #{phone}")     User findUserByPhone(@Param("phone") String phone);
    @Insert("INSERT INTO T_USER(NAME, PASSWORD, PHONE) VALUES(#{name}, #{password}, #{phone})")     int insertByUser(User user);
    @Update("UPDATE T_USER SET NAME = #{name}, PASSWORD = #{password} WHERE PHONE = #{phone}")     void update(User user);
    @Delete("DELETE FROM T_USER WHERE ID = #{id}")     void delete(Integer id);