
mybatis
Claroja
这个作者很懒,什么都没留下…
展开
-
mybatis 注解 动态SQL
1.仿照xml形式方法:用script标签包围,然后像xml语法一样书写,适用于xml配置转换到注解配置@Select("<script>" +"select * from mi_taobao where 1=1" +"<if test='status != null'>" +"and status = #{status}" +"</if>" +"&原创 2021-02-03 20:36:17 · 178 阅读 · 0 评论 -
mybatis
mybatis 占位符 注解版mybatis 增删改查测试mybatis insert 插入标签mybatis update 更新标签mybatis delete 删除标签mybatis 模糊查询mybatis select 查询标签mybatis parameterTypemybatis resultType & resultMapmybatis SqlMapConfig.xmlmybatis SqlMapConfig.xml propertiesmybatis SqlMap原创 2021-02-02 23:47:17 · 118 阅读 · 0 评论 -
mybatis 注解 占位符
#{}自动进行 java 类型和 jdbc 类型转换,#{}可以有效防止 sql 注入。select * from user where username = #{username}username = 'wxy' 为字符串时,则转换为select * from user where username = 'wxy'自动加上引号${}直接 传入的内容拼接在 sql 中且不进行 jdbc 类型转换,select * from user where username = ${username}原创 2021-02-02 23:44:59 · 494 阅读 · 0 评论 -
mybatis 缓存 一级缓存
一级缓存是 SqlSession 级别的缓存,只要 SqlSession 没有 flush 或 close,它就存在。原创 2021-01-17 23:56:33 · 107 阅读 · 0 评论 -
mybatis 缓存 一级缓存
一级缓存是 SqlSession 级别的缓存,只要 SqlSession 没有 flush 或 close,它就存在。原创 2021-01-16 10:21:36 · 104 阅读 · 0 评论 -
mybatis 关联查询 延迟加载
就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载.好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能坏处:因为只有当需要用到数据时,才会进行数据库查询,所以可能造成用户等待时间变长,造成用户体验下降。modelpublic class User implements Serializable { private Integer id; private String username; private String addres原创 2021-01-16 10:21:10 · 181 阅读 · 0 评论 -
mybatis 多表查询-多对多
public class User implements Serializable { private Integer id; private String username; private String address; private String sex; private Date birthday; //多对多的关系映射:一个用户可以具备多个角色 private List<Role> roles;}public clas原创 2021-01-16 10:20:49 · 101 阅读 · 0 评论 -
mybatis 多表查询-多对一(方法二 )
public class User implements Serializable { private Integer id; private String username; private String address; private String sex; private Date birthday;}public class Account implements Serializable { private Integer id;原创 2021-01-16 10:20:31 · 98 阅读 · 0 评论 -
mybatis 多表查询-多对一(方法一 常用)
public class User implements Serializable { private Integer id; private String username; private String address; private String sex; private List<Account> accounts;}public class Account implements Serializable { private I原创 2021-01-16 10:20:10 · 126 阅读 · 0 评论 -
mybatis 多表查询-一对多(方法一 常用)
常用方法public class User implements Serializable { private Integer id; private String username; private String address; private String sex; private Date birthday;}public class Account implements Serializable { private Integer id;原创 2021-01-16 10:19:42 · 124 阅读 · 0 评论 -
mybatis 动态SQL-sql 与 include标签
<sql id="defaultSql"> select * from user </sql><select id="findById" resultType="UsEr" parameterType="int"> <include refid="defaultSql"></include> where id = #{uid} </select>原创 2021-01-16 10:19:09 · 520 阅读 · 0 评论 -
mybatis 动态SQL-foreach标签
SELECT * FROM USERS WHERE username LIKE '%张%' AND (id =10 OR id =89 OR id=16) SELECT * FROM USERS WHERE username LIKE '%张%' AND id IN (10,89,16) 等价<select id="findUser" resultMap="userMap" parameterType="queryvo"> select * from user <w原创 2021-01-16 10:18:47 · 123 阅读 · 0 评论 -
mybatis 动态SQL-where标签
<where>可以简化where 1 = 1<select id="findUser" resultMap="userMap" parameterType="user"> select * from user <where> <if test="userName != null"> and username = #{userName} </if> <if原创 2021-01-16 10:18:24 · 158 阅读 · 0 评论 -
mybatis 动态SQL-if标签
<select id="findUserByCondition" resultMap="userMap" parameterType="user"> select * from user where 1=1 <if test="userName != null"> and username = #{userName} </if> <if test="userSex != null"> and sex原创 2021-01-16 10:18:05 · 137 阅读 · 0 评论 -
mybatis 数据库配置-事务处理
session = factory.openSession(true);原创 2021-01-15 22:05:39 · 132 阅读 · 0 评论 -
mybatis 数据库配置-数据源
<dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property>原创 2021-01-15 22:05:17 · 178 阅读 · 0 评论 -
mybatis SqlMapConfig.xml environments
<!--配置环境--><environments default="mysql"> <!-- 配置mysql的环境--> <environment id="mysql"> <!-- 配置事务 --> <transactionManager type="JDBC"></transactionManager> <!--配置连接池-->原创 2021-01-15 22:04:57 · 121 阅读 · 0 评论 -
mybatis SqlMapConfig.xml mappers
<mapper resource=" " />使用相对于类路径的资源:<mapper resource="com/dao/IUserDao.xml" /><mapper class=" " />使用 mapper 接口类路径<mapper class="com.dao.UserDao"/>此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。<package name=""/> 建议使用此方法注册指原创 2021-01-15 22:03:49 · 138 阅读 · 1 评论 -
mybatis SqlMapConfig.xml typeAliases
<typeAliases> <!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就再区分大小写 <typeAlias type="com.User" alias="user"></typeAlias>--> <!-- 用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写--> <package name原创 2021-01-15 22:03:29 · 111 阅读 · 0 评论 -
mybatis SqlMapConfig.xml properties
第一种配置:<properties> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="jdbc.url" value="jdbc:mysql://localhost:3306/www"/> <property name="jdbc.username" value="root"/> <property name="jdbc.pa原创 2021-01-15 22:02:53 · 120 阅读 · 0 评论 -
mybatis SqlMapConfig.xml
-properties(属性) --property -settings(全局配置参数) --setting -typeAliases(类型别名) --typeAliase --package -typeHandlers(类型处理器) -objectFactory(对象工厂) -plugins(插件) -environments(环境集合属性对象) --environment(环境子属性对象) ---transactionManager(事务管理)原创 2021-01-15 22:02:28 · 102 阅读 · 1 评论 -
mybatis resultType & resultMap
resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型。需要注意的是,它和 parameterType 一样,如果注册过类型别名的,可以直接使用别名。没有注册过的必须使用全限定类名。同时,当是实体类名称是,还有一个要求,实体类中的属性名称必须和查询语句中的列名保持一致,否则无法实现封装。resultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。同时 resultMap 可以实现将查询结果映射为复杂类型的 pojo,比如在查询结果映射对象中原创 2021-01-15 22:02:01 · 288 阅读 · 0 评论 -
mybatis parameterType
parameterType可以是基本类型,引用类型(例如:String 类型),还可以是实体类类型(POJO 类)同时也可以使用实体类的包装类基本类型和String我们可以直接写类型名称,也可以使用包名.类名的方式,例如:java.lang.String实体类类型,目前我们只能使用全限定类名。原因,是 mybaits 在加载时已经把常用的数据类型注册了别名,从而我们在使用时可以不写包名,而我们的是实体类并没有注册别名,所以必须写全限定类名。在 TypeAliasRegistery.class中定义:原创 2021-01-15 22:01:38 · 641 阅读 · 0 评论 -
mybatis select 查询标签
modelpublic class User implements Serializable { private Integer userId; private String userName; private String userAddress;}interfacepublic interface IUserDao { User findById(Integer userId);}mybatis.xml<select id="findById" r原创 2021-01-15 22:01:12 · 157 阅读 · 0 评论 -
mybatis 模糊查询
modelpublic class User implements Serializable { private Integer userId; private String userName; private String userAddress;}interfacepublic interface IUserDao { List<User> findByName(String username);}mybatis.xml<select原创 2021-01-14 22:23:19 · 233 阅读 · 0 评论 -
mybatis delete 删除标签
modelpublic class User implements Serializable { private Integer userId; private String userName; private String userAddress;}interfacepublic interface IUserDao { int deleteUser(Integer userId); }mybatis.xml<delete id="deleteUse原创 2021-01-14 22:22:52 · 1266 阅读 · 0 评论 -
mybatis update 更新标签
modelpublic class User implements Serializable { private Integer userId; private String userName; private String userAddress;}interfacepublic interface IUserDao { int updateUser(User user); }mybatis.xml<update id="updateUser" pa原创 2021-01-14 22:22:26 · 933 阅读 · 0 评论 -
mybatis insert 插入标签
modelpublic class User implements Serializable { private Integer userId; private String userName; private String userAddress;}interfacepublic interface IUserDao { void saveUser(User user);}mybatis.xml<insert id="saveUser" parame原创 2021-01-14 22:22:02 · 661 阅读 · 0 评论 -
mybatis 增删改查测试
public class MybatisTest { private InputStream in; private SqlSession sqlSession; private IUserDao userDao; @Before//用于在测试方法执行之前执行 public void init()throws Exception{ //1.读取配置文件,生成字节输入流 in = Resources.getResourceAsStre原创 2021-01-14 22:21:35 · 119 阅读 · 0 评论