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实例仅只能连一个