怎样在网站上做办公家具,网站添加文章,破解wordpress密码,延吉网站建设彩票学习的最大理由是想摆脱平庸#xff0c;早一天就多一份人生的精彩#xff1b;迟一天就多一天平庸的困扰。各位小伙伴#xff0c;如果您#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持#xff0c;想组团高效学习… 想写博客但无从下手#xff0c;急需… 学习的最大理由是想摆脱平庸早一天就多一份人生的精彩迟一天就多一天平庸的困扰。各位小伙伴如果您 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持想组团高效学习… 想写博客但无从下手急需写作干货注入能量… 热爱写作愿意让自己成为更好的人… 文章目录 前言一、核心配置文件详解二、默认的类型别名三、MyBatis的增删改查四、MyBatis获取参数值的两种方式1、单个字面量类型的参数2、多个字面量类型的参数3、map集合类型的参数4、实体类类型的参数5、使用Param标识参数 总结 前言 
一、核心配置文件详解 二、默认的类型别名 三、MyBatis的增删改查 四、MyBatis获取参数值的两种方式 1、单个字面量类型的参数 2、多个字面量类型的参数 3、map集合类型的参数 4、实体类类型的参数 5、使用Param标识参数 一、核心配置文件详解 核心配置文件中的标签必须按照固定的顺序(有的标签可以不写但顺序一定不能乱) properties、settings、typeAliases、typeHandlers、objectFactory、objectWrapperFactory、reflectorFactory、plugins、environments、databaseIdProvider、mappers ?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//MyBatis.org//DTD Config 3.0//ENhttp://MyBatis.org/dtd/MyBatis-3-config.dtd
configuration!--引入properties文件此时就可以${属性名}的方式访问属性值--properties resourcejdbc.properties/propertiessettings!--将表中字段的下划线自动转换为驼峰--setting namemapUnderscoreToCamelCase valuetrue/!--开启延迟加载--setting namelazyLoadingEnabled valuetrue//settingstypeAliases!--typeAlias设置某个具体的类型的别名属性type需要设置别名的类型的全类名alias设置此类型的别名且别名不区分大小写。若不设置此属性该类型拥有默认的别名即类名--!--typeAlias typecom.atguigu.mybatis.bean.User/typeAlias--!--typeAlias typecom.atguigu.mybatis.bean.User aliasuser/typeAlias--!--以包为单位设置改包下所有的类型都拥有默认的别名即类名且不区分大小写--package namecom.atguigu.mybatis.bean//typeAliases!--environments设置多个连接数据库的环境属性default设置默认使用的环境的id--environments defaultmysql_test!--environment设置具体的连接数据库的环境信息属性id设置环境的唯一标识可通过environments标签中的default设置某一个环境的id表示默认使用的环境--environment idmysql_test!--transactionManager设置事务管理方式属性type设置事务管理方式typeJDBC|MANAGEDtypeJDBC设置当前环境的事务管理都必须手动处理typeMANAGED设置事务被管理例如spring中的AOP--transactionManager typeJDBC/!--dataSource设置数据源属性type设置数据源的类型typePOOLED|UNPOOLED|JNDItypePOOLED使用数据库连接池即会将创建的连接进行缓存下次使用可以从缓存中直接获取不需要重新创建typeUNPOOLED不使用数据库连接池即每次使用连接都需要重新创建typeJNDI调用上下文中的数据源--dataSource typePOOLED!--设置驱动类的全类名--property namedriver value${jdbc.driver}/!--设置连接数据库的连接地址--property nameurl value${jdbc.url}/!--设置连接数据库的用户名--property nameusername value${jdbc.username}/!--设置连接数据库的密码--property namepassword value${jdbc.password}//dataSource/environment/environments!--引入映射文件--mappers!-- mapper resourceUserMapper.xml/ --!--以包为单位将包下所有的映射文件引入核心配置文件注意1. 此方式必须保证mapper接口和mapper映射文件必须在相同的包下2. mapper接口要和mapper映射文件的名字一致--package namecom.atguigu.mybatis.mapper//mappers
/configuration二、默认的类型别名 三、MyBatis的增删改查 
添加!--int insertUser();--
insert idinsertUserinsert into t_user values(null,admin,123456,23,男,12345qq.com)
/insert删除!--int deleteUser();--
delete iddeleteUserdelete from t_user where id  6
/delete修改!--int updateUser();--
update idupdateUserupdate t_user set username  张三 where id  5
/update查询一个实体类对象!--User getUserById();--  
select idgetUserById resultTypecom.atguigu.mybatis.bean.User  select * from t_user where id  2  
/select查询集合!--ListUser getUserList();--
select idgetUserList resultTypecom.atguigu.mybatis.bean.Userselect * from t_user
/select注意 查询的标签select必须设置属性resultType或resultMap用于设置实体类和数据库表的映射关系 resultType自动映射用于属性名和表中字段名一致的情况resultMap自定义映射用于一对多或多对一或字段名和属性名不一致的情况 当查询的数据为多条时不能使用实体类作为返回值只能使用集合否则会抛出异常TooManyResultsException但是若查询的数据只有一条可以使用实体类或集合作为返回值  
四、MyBatis获取参数值的两种方式 
MyBatis获取参数值的两种方式${}和#{}${}的本质就是字符串拼接#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql若为字符串类型或日期类型的字段进行赋值时需要手动加单引号但是#{}使用占位符赋值的方式拼接sql此时为字符串类型或日期类型的字段进行赋值时可以自动添加单引号 
1、单个字面量类型的参数 
若mapper接口中的方法参数为单个的字面量类型此时可以使用${}和#{}以任意的名称最好见名识意获取参数的值注意${}需要手动加单引号 
!--User getUserByUsername(String username);--
select idgetUserByUsername resultTypeUserselect * from t_user where username  #{username}
/select!--User getUserByUsername(String username);--
select idgetUserByUsername resultTypeUser  select * from t_user where username  ${username}  
/select2、多个字面量类型的参数 
若mapper接口中的方法参数为多个时此时MyBatis会自动将这些参数放在一个map集合中 以arg0,arg1…为键以参数为值以param1,param2…为键以参数为值 因此只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号。使用arg或者param都行要注意的是arg是从arg0开始的param是从param1开始的 
!--User checkLogin(String username,String password);--
select idcheckLogin resultTypeUser  select * from t_user where username  #{arg0} and password  #{arg1}  
/select!--User checkLogin(String username,String password);--
select idcheckLogin resultTypeUserselect * from t_user where username  ${param1} and password  ${param2}
/select3、map集合类型的参数 
若mapper接口中的方法需要的参数为多个时此时可以手动创建map集合将这些数据放在map中只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号 
!--User checkLoginByMap(MapString,Object map);--
select idcheckLoginByMap resultTypeUserselect * from t_user where username  #{username} and password  #{password}
/selectTest
public void checkLoginByMap() {SqlSession sqlSession  SqlSessionUtils.getSqlSession();ParameterMapper mapper  sqlSession.getMapper(ParameterMapper.class);MapString,Object map  new HashMap();map.put(usermane,admin);map.put(password,123456);User user  mapper.checkLoginByMap(map);System.out.println(user);
}4、实体类类型的参数 
若mapper接口中的方法参数为实体类对象时此时可以使用${}和#{}通过访问实体类对象中的属性名获取属性值注意${}需要手动加单引号 
!--int insertUser(User user);--
insert idinsertUserinsert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})
/insertTest
public void insertUser() { SqlSession sqlSession  SqlSessionUtils.getSqlSession();ParameterMapper mapper  sqlSession.getMapper(ParameterMapper.class);User user  new User(null,Tom,123456,12,男,123321.com);mapper.insertUser(user);
}5、使用Param标识参数 
可以通过Param注解标识mapper接口中的方法参数此时会将这些参数放在map集合中 以Param注解的value属性值为键以参数为值以param1,param2…为键以参数为值 只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号 
!--User CheckLoginByParam(Param(username) String username, Param(password) String password);--select idCheckLoginByParam resultTypeUserselect * from t_user where username  #{username} and password  #{password}/selectTest
public void checkLoginByParam() {SqlSession sqlSession  SqlSessionUtils.getSqlSession();ParameterMapper mapper  sqlSession.getMapper(ParameterMapper.class);mapper.CheckLoginByParam(admin,123456);
}建议分成两种情况进行处理 实体类类型的参数使用Param标识参数  总结 
以上就是Mybatis之核心配置文件详解、默认类型别名、Mybatis获取参数值的两种方式的相关知识点希望对你有所帮助。 积跬步以至千里积怠惰以至深渊。时代在这跟着你一起努力哦