MyBatis
2021/9/20 22:21 select时传入多个参数 1.@param注解
List<student> list1(@Param("pageno") int pageNo,@Param("pagesize") int pageSize);
List<student> list = mapper.list1(3, 5);
<select id="list1" resultType="org.example.entity.student">
select * from student limit #{pageno},#{pagesize}
</select>
2.使用对象(pojo)的方式,主要是通过类的get方法获取值(参数过多时推荐使用)。 3.按位置传参mybatis3.4之后的版本使用(信息来源网络)#{arg0},#{arg1}。 4.Map传参,通过#{key}获取参数。好处可以加很多参数。 ? ? ?
2021/9/23 mybatis-config.xml配置文件分析(依据官方的dtd约束文档)
<configuration>
<properties resource="connection.properties"/>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/.>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/example/dao/studentdao.xml"/>
</mappers>
</configuration>
mapper中标签
cache-ref | cache | resultMap* | parameterMap* | sql* | insert* | update* | delete* | select*
<mapper namespace="可自定义,采用映射时要与dao接口路径名字一样">
<resultMap>
<id column="" property=""/> //主键使用这个定义
<resultMap id="studentEx" type="org.example.entity.student"> id自定义 type:实体类
<result column="clazz_id" property="clazzId"/> //非主键定义方法
</resultMap>
<sql id="mys"> //抽取公用代码块以便复用
select s.id ,s.name ,s.birth,clazz_id,c.name as Cname from student s left join clazz c on c.id= s.clazz_id
</sql>
<insert id="add"># useGeneratedKeys="true":使用自增主键值 keyProperty="id"指名获取主键后
给实体类哪个属性使用
insert into student(id,name,birth,clazz_id)values(#{id},#{name},#{birth},#{clazzId});
</insert>
|