zoukankan      html  css  js  c++  java
  • Atitit mybatis3 注解模式使用总结 目录 1. mybatisdemo 1 1.1. /ormMybatis3demo/src/db.properties 1 1.2. /ormMyb

    Atitit mybatis3 注解模式使用总结

     

    目录

    1. mybatisdemo 1

    1.1. /ormMybatis3demo/src/db.properties 1

    1.2. /ormMybatis3demo/src/pkg1/MapperCls.java 1

    1.3. /ormMybatis3demo/src/mybatis.xml 2

    1.4. mybatisdemo 3

    2. 错误解决 4

    2.1. mybatis The error may involve defaultParameterMap 4

    2.2. org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 5

    3. ref 5

     

     

    1. Mybatisdemo

    /ormMybatis3demo/libs/mybatis-3.2.0-SNAPSHOT.jar

     

      1. /ormMybatis3demo/src/db.properties

    # Properties file for JDBC configuration

    #

    # Place this file in the root CLASSPATH

     

    #MySQL Connection Configuration  

    mysql.driver=org.sqlite.JDBC

    mysql.url=jdbc:sqlite:D:\\000000\\mydatabase.sqlite

    mysql.username=root

    mysql.password=

     

    ds =java\:/comp/env/jndi/wxb_site_newxxx

     

     

      1. /ormMybatis3demo/src/pkg1/MapperCls.java

     

    package pkg1;

     

     

     

    import java.util.List;

    import java.util.Map;

     

    import org.apache.ibatis.annotations.Delete;

    import org.apache.ibatis.annotations.Insert;

    import org.apache.ibatis.annotations.Param;

    import org.apache.ibatis.annotations.Select;

    import org.apache.ibatis.annotations.Update;

     

     

     

    public interface MapperCls {

        

        /*

         * 这是基于注解的映射方式,实现对数据的增删改查,将sql语句直接写在注解的括号中

         * 这是一个接口,其不需要类去实现它

         * 下边分别是插入,删除,修改,查询一个记录,查询所有的记录

         * */

        

     

        

        @Select("${sql_intag}")

        public List<Map>   query(@Param("sql_intag") String sql);

        

     

        

    }

      1. /ormMybatis3demo/src/mybatis.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>

     

        <properties resource="db.properties"></properties>

     

    <settings>

    <!--   

    <setting name="defaultExecutorType" value="REUSE" />

    -->

    <setting name="defaultStatementTimeout" value="30000" />

    </settings>

     

    <!-- <plugins>

    <plugin interceptor="cn.freeteam.util.OffsetLimitInterceptor"> -->

    <!-- <property name="dialectClass" value="cn.freeteam.util.SQLServerDialect"/> -->

    <!--</plugin>

    </plugins> -->

    <environments default="mysql">

     

    <environment id="mysql">

    <transactionManager type="JDBC" ></transactionManager>

    <dataSource type="POOLED">

    <property name="driver" value="${mysql.driver}" />

    <property name="url" value="${mysql.url}" />

    <property name="username" value="${mysql.username}" />

    <property name="password" value="${mysql.password}" />

    <property name="poolMaximumIdleConnections" value="0" />

    <property name="poolMaximumActiveConnections" value="10" />

    </dataSource>

    </environment>

    </environments>

     

    <mappers>

     <mapper class="pkg1.MapperCls"/>

     

     

    <!--   

      <mapper resource="cn/freeteam/model/OperlogsMapper.xml"/>

      -->

    </mappers>

    </configuration>

      1. mybatisdemo 

     

     

    package pkg1;

    import java.io.InputStream;

    import java.util.List;

     

    import org.apache.ibatis.session.SqlSession;

    import org.apache.ibatis.session.SqlSessionFactory;

    import org.apache.ibatis.session.SqlSessionFactoryBuilder;

     

    import com.alibaba.fastjson.JSON;

     

    public class mybatisdemo {

    public static void main(String[] args) {

     

    String resource = "mybatis.xml";

     

    // 加载mybatis 的配置文件(它也加载关联的映射文件)

    InputStream is = mybatisdemo.class.getClassLoader().getResourceAsStream(resource);

     

    // 构建sqlSession 的工厂

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

     

     SqlSession session=factory.openSession(true);

     

     MapperCls mapper=session.getMapper(MapperCls.class);

     @SuppressWarnings("rawtypes")

    // List li  =mapper.queryall();

       List li  =mapper.query("select * from tab1");

     System.out.println( JSON.toJSONString(li));

     session.close();

    // = session.selectList(arg0);

     

    }

     

    }

     

    1. 错误解决
      1. mybatis The error may involve defaultParameterMap

        @Select("select  * from tab1")

    public List<Map>   queryall();

     

    要定义List<Map> ,不要只是list

     

     

      1. org.apache.ibatis.reflection.ReflectionException: There is no getter for property named

     

    解决方法:在参数前加@Param标签

    public List<Userinfo> findAll(@Param("sname") String sname);

    1. ref

     

    Mybatis框架基于注解的方式,实对数据现增删改查 - G-&-D - 博客园.html

  • 相关阅读:
    极光推送的设备唯一性标识 RegistrationID
    排行榜算法设计实现比较 排序树 平衡二叉树
    UCloud首尔机房整体热迁移是这样炼成的
    from appium import webdriver 使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)
    客户续费模型 逻辑回归 分类器 AdaBoost
    推举算法 AdaBoost 哥德尔奖 Godel Prize
    基于 redis 的分布式锁实现 Distributed locks with Redis debug 排查错误
    Django’s cache framework
    随机森林算法预测法官判决
    时间特征正弦化
  • 原文地址:https://www.cnblogs.com/attilax/p/15197498.html
Copyright © 2011-2022 走看看