mybatis(1)

mybatis中参数的获取


一,一个参数

1,基本参数  #{}

delete from user where id=#{id};
//建议与变量名相同实际可以为任意名称,接收对应方法传过来的形参
//paramTyep可以省略不写,mybatis可以自动推断出来

2,pojo实体对象参数

#{属性名}

<!-- 更新操作 -->
        <update id="updateUser" parameterType="com.model.User">
        update user set name=#{name} where id=#{id};
        </update>

形参是map也是如此#{key}

二,多个参数

 @param("参数的别名")//只能用这种方式,xml文件中才能使用

<select id="findTUser" resultMap="userMap">
select * from tb_user where id=#{id} and username=#{username};
</select>
TUser findTUser(@Param("id")Integer id,@Param("username")String username);
    

三,核心类

1,SqlSessionFactory


SqlSessionFactory是一个工厂类,用来获取SqlSession对象。

成员方法:

SqlSession openSession();
//获取SqlSession对象,传入的参数代表创建的SqlSession是否自动提交
SqlSession openSession(boolean autoCommit);

默认:不会自动提交

2 , SqlSession

SqlSession提供了在数据库执行SQL命令所需的所有方法,同时提供了事务相关的操作

成员方法:

T getMapper(class<T> type)//获取mapper对象
void commit()//提交事务
void rollback()//回滚事务
void close()//释放资源

四,properties

直接从配置文件中读取数据库连接信息

jdbc.driver = com.mysql.jdbc.Driver
#?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
jdbc.url = jdbc:mysql://localhost:3306/db_java
jdbc.username = root
jdbc.password = 
<properties resource="jdbc.properties">
     </properties>
     
     
     <environments default="mysql">
     <!-- 配置mysql的环境 -->
        <environment id="mysql">
              <transactionManager type="JDBC" >
              </transactionManager>
              <dataSource type="POOLED">
                  <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                 <property name="password" value="" />
             </dataSource>
        </environment>
     </environments> 

五,settings

可以使用该标签1来进行一些设置,可以直接查看官网

六,typeAliases类型别名

类型别名可为Java类型设置一个缩写名字,它仅用于xml配置,目的是降低冗余的全限定类名的书写

<typeAliases>
         <package name="com.model"></package>
     </typeAliases>

注意:该包下的所有的Java类,都会有一个自动的别名是类名的首字母小写

eg:User--->user    

 七,environments

可以配置多个environment,每个SqlSessionFactory实例仅只能连一个

posted on 2021-04-20 15:55  居一雪  阅读(37)  评论(0编辑  收藏  举报

导航