Mybatis1:Mybatis的配置1.1如何下载Mybatis?1.https:///mybatis/mybatis-32.https:///mybatis/mybatis-3/releases1.2.如何使用Mybatis?Mybatis返回的类型是bean!1.导入Mybatis.jar &数据库连接包!2.创建bean(bean的属性要匹配数据库的名称)3.写Mybatis全局配置文件4.写Mapper(sql语句映射)文件5.写测试类(1,引入xml文件,通过SqlSessionFactory工厂来管理)1.3.Mybatis核心代码细节1.config全局配置文件<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE configuration PUBLIC"-////DTD Config3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><!--配置数据源集合 --><environments default="mybatisday01"><!-- environment数据源 --><environment id="mybatisday01"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver"value="com.mysql.jdbc.Dri ver"/><property name="url"value="jdbc:mysql://localhos t:3306/day26"/><property name="username"value="root"/><property name="password"value="root"/></dataSource></environment><!-- environment数据源 --><environment id="mybatisday02"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver"value="com.mysql.jdbc.Dri ver"/><property name="url"value="jdbc:mysql://localhos t:3306/day206"/><property name="username"value="root"/><property name="password"value="root"/></dataSource></environment></environments><!--导入sql映射文件 --><mappers><mapper resource="Mybatis-sql.xml"/><mapper resource="Mybatis-sql01.xml"/></mappers></configuration>3.sql映射文件<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE mapper PUBLIC"-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><!--命名空间 --><mapper namespace="mybatis01"><!--id唯一标识符resultType:返回类型注意返回类型对应的是全类名 --><select id="select"resultType="com.mybatis.bea n.student">selectid,name,clas,birthday from student where id=#{id}</select></mapper>1.4.测试//获取Mybatis配置文件InputStream is = Resources.getResourceAsStream("Mybatis-config.xml");//通过MybatisSqlSessionFactory工厂加载配置文件SqlSessionFactorysessionFactory = new SqlSessionFactoryBuilder().build(is);//打开数据库连接SqlSession session = sessionFactory.openSession();//执行Mybatis的sql语句studentstu=session.selectOne("mybatis02.select",2);System.out.println(stu.toString());//关闭数据库连接session.close();1.5.eclipse支持Mybatis代码帮助解决方案?在eclipse 中配置mybatis-3-config.dtd, mybatis-3-mapper.dtdEclipse->Preferences->XMl->XML CatalogAdd(Key Tytpe选择URI)2.Mybatis全局文件配置2.1:Mybatis整合C3P02.2:Mybatis接口编程<settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings>驼峰命名规则1.命名空间必须对应接口全类名(接口不需要实现)2.Id必须匹配方法名称3.Mapper配置文件必须跟接口名称相对性并且在同一目录下4.调用通过getMapper方法进行调用<mapper resource="Mybatis-sql.xml"/> 访问项目资源<mapper url="file:///c://StudentDaoMapper.xml"/>访问本地资源<mapper url="/StudentDaoMapper.xml"></mapper>跨域访问<mapper class="com.mybatis.dao.StudentDao"/>通过类名访问建议使用以下包扫描的方式:<package name="com.mybatis.dao"/>代码提示:StuDaostu=session.getMapper(StuDao.class);2.3 C3P0配置1.继承extends UnpooledDataSourceFactory<environment id="c3p0"><transactionManager type="JDBC"/><dataSource type="com.mybatis.date.C3P0DataSourc eFactory"><property name="driverClass"value="com.mysql.jdb c.Driver"/><property name="jdbcUrl"value="jdbc:mysql://loca lhost:3306/day26"/><property name="user"value="root"/><property name="password"value="root"/><property name="minPoolSize"value="10"/><property name="maxPoolSize"value="100"/></dataSource></environment>2.4 Properties外部配置数据源<!-- properties resource:加载项目目录url:加载外部文件--><properties resource="db.properties"><!--<property name="password" value="aa"/> --></properties>2.5 typrAliases短名字<!--typeAliases类型别名是为 Java 类型设置一个短的名字 --><typeAliases><typeAlias alias="stu"type="com.mybatis.bean.Stus"/></typeAliases> <!--typeAliases类型别名是为 Java 类型设置一个短的名字 --><typeAliases><!-- type表示的全类名 alias对应的短名称需要对每个bean进行配置<typeAlias type="com.mybatis.bean.Stus" alias="stus"/>--><!-- package 用包扫描的方式会出现bean名称重复1.通过注解的方式避免bean名称重复2.@Alias("短名称")3.如果使用typeAliases不利于代码维护4.如果我们不使用注解按照类名首字母小写的方式--><package name="com.mybatis.bean"/></typeAliases>2.6 config标签顺序properties/settings/typeAliases/typeHandlers/objectFactory/objectWrapperFacto ry/plugins/environments/databaseIdProvider/mappers3.Mapper文件配置3.1增删改查<!--1. 添加,删除,修改:默认返回的执行记录数eGeneratedKeys="true" keyProperty="stusid" 用户返回主键3.查询如果返回多条记录通过list接收4.传参默认是map接收对应param1, param25.通过@Param("") 动态改变传入参数值eg:@Param("sanme") xml: #{sanme}--><insert id="addStus" parameterType="com.mybatis.bean.Stus" useGeneratedKeys="true" keyProperty="stusid">insert into stus(stus_name,stus_sex) values(#{stusname},#{stussex})</insert><!--单个查询 --><select id="selectStusById" resultType="com.mybatis.bean.Stus">select<include refid="sqlstus"></include> from stus wherestus_id=#{lllklkldajfadfds}</select><!--根据id和Name进行查询 --><select id="selectStusByIdName" resultType="com.mybatis.bean.Stus">select<include refid="sqlstus"></include> from stus where stus_id=#{id} and stus_name=#{name}</select><!--根据id和Name或者其他字段进行查询 --><select id="selectStusByIdNameorSex" resultType="com.mybatis.bean.Stus"> select<include refid="sqlstus"></include> from stus where stus_id=#{param1} and ${param2}=#{param3}</select><!--修改 --><update id="updateStus">updatestus set stus_name=#{stusname},stus_sex=#{stussex} wherestus_id=#{stusid}</update><!--删除 --><delete id="delStus">delete from stus where stus_id=#{stusid}</delete>3.2#与¥的区别#:预编译,可以防止sql注入$:字符串拼接使用(eg:可以动态改变列明)3.3返回主键<insert id="addStus" parameterType="com.mybatis.bean.Stus" useGeneratedKeys="true" keyProperty="stusid">insert into stus(stus_name,stus_sex) values(#{stusname},#{stussex})</insert>3.4resultMap别名<resultMap type="返回类型"id="标识符"></resultMap><select id="selectMajor"resultMap="标识符">3.5 resultMap子标签<result column="对应数据库字段"property="bean的属性"/><id column="对应数据库字段"property="对应bean属性"/>Id,表示主键Result:列。