-
mybatis作为持久层的开发查看全部
-
mybatis里面sql循环拼接 逗号查看全部
-
sqlsession调用 方法来执行 sql语句 只是输入了select标签的名字,但是并没有输入sql配置文件的uri,所以要在数据库连接的核心配置文件中 导入 sql配置文件,即<mappers>标签与子标签<mapper> sqlsession调用时会用到这个名字 resultmap属性。对应的是resultmap标签的id mybatis配置文件中的mapper标签 属性是namespace 翻译是命名空间 mapper标签内包含 resultmap标签 是执行完查询语句后返回的结果集 resultmap有子标签 id。 用来配置 有主键约束的行 和result。 用来配置其他行 并列关系 ,都有属性column jdbctype property属性 column看名字 就是数据库的字段名 properry 是数据库对应dao类中的属性 select标签 insert标签 update标签。这些标签里写的都是sql语句 resultMap 中id是标识,是唯一的。resultMap中的子标签中的id表示后台数据库的主键,而result对应得实后台数据库除了主键以外的其他字段。查看全部
-
6.核心配置文件的配置 • <environments>:数据库连接和事务管理器的相关配置 • <mappers>:引入SQL配置文件(通过子标签mapper可以引入多个文件) <mapper resource="xx.xx.xx.xml"></mapper> 7.SQL配置文件的配置 • 四种标签对应select、delete、insert、update四种语句 • 命名空间(必须配置):mapper标签的属性,用来区分不同命名空间下的相同的id • select标签: id属性:SqlSession调用select方法时用来标识方法的参数(同一命名空间下必须唯一) resultMap属性:引用相应的resultMap作为查询结果的映射 • resultMap标签:用来映射javabean type属性:被映射bean的全限定名 id属性:用于唯一标识一个resultMap,并提供给select引用 子标签:id主键字段,result非主键字段 § column属性:查询结果中的列名,而不是数据库中的列名 § property:对象属性名 § jdbcType:java.sql.Types下的常量名(使用时查文档即可) • 完成后的文件必须在核心配置文件中配置查看全部
-
难学呀查看全部
-
alt + / : 输出main函数的快捷键查看全部
-
常见问题解析 一、获取自增主键值: <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.imooc.bean.Command"> insert into command(name,description) values(#{name},#{description}) </insert> //解析:添加数据(在主外键的关系中)可以使用 useGeneratedKeys="true",可获取自增长的id,并配合keyProperty="id"(java中实体类的属性名)指定该对象的主键值。 二、找不到namespace.id的异常效果: 1、在Configuration.xml没有配置<mappers><mapper resource="*.xml"></mapper></mappers>; 2、在1的配置中或selectList("Message.queryMessageList",message);中,名字写错。 三、排查SQL语法错误:如果控制台出现SQL语句问题,复制到SQL软件上执行,若有参数,手动写上并执行。 四、不要过度使用${}。 五、乱码问题: 1. servlet传参时的编码:request.setCharacterEncoding("utf-8");或直接使用过滤器; 2. Java文件本身的编码; 3. 连接数据库的参数中,设定编码方式:jdbc:mysql://192.168.1.1:3306/cms?characterEncoding=utf-8 4. 数据库、表的编码; 5. 展示页面的编码:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6. 浏览器编码问题等。查看全部
-
代码风格要规范查看全部
-
#{}和OGNL表达式查看全部
-
容易混淆的概念查看全部
-
Ps1: <where><if test=""></if>...</where>标签相当于“where 1=1 and...”,<where>标签和where 1=1不可共存,两者取其一即可。 Ps2: <select> select <include refid="columns"></include> from command </select> <sql id="columns">a.id C_ID,b.id,b.commandId</sql> //作用:增强了维护性,减少代码复用。 Ps3: //解析:<trim>标签在<select>/<update>等内使用。prefix在sql语句最前面加上,suffix在sql语句最后面加上,去掉sql语句最前面prefixOverrides,去掉sql语句最后面suffixOverrides。 <trim prefix="where" suffix="test" prefixOverrides="and|or" suffixOverrides=","> //sql语句 </trim> 提示:prefix="where" prefixOverrides="and|or"等价于<where>;prefix="set" suffixOverrides=","等价于<set>。 Ps4: <choose> <when test=""></when> <when test=""></when> <otherwise></otherwise> </choose> 理解1:if—else if—else 理解2:switch—case—case—default Ps5: <collection property="主实体类中的List<子实体类>的对象名" resultMap="子xml中mapper中属性namespace名.resultMap的id名"/>//这条语句写在主xml<resultMap>中。 <association property="子实体类中的主实体类的对象名" resultMap="主xml中mapper中属性namespace名.resultMap的id名"/>//这条语句写在子xml<resultMap>中。查看全部
-
快捷键: 1、Ctrl+Shift+R:查看该高亮部分是哪个类。 2、Alt+Shift+R:选择高亮部分修改关联的名称(不要自己手动去改,否则所有都要自己手动去改)。 注意:rs.getString("列名");这里的列名并不指的是数据库中的字段名,而是当时select id ID,...语句当中空格后的命名。如果不写默认是数据库中的字段名,MyBatis中的xml配置column也同理可得。如果一条select中涉及到多个表,如果为select a.id,b.id...由于column不能加前缀,所以只能给其中一个自定义命名,如(select a.id C_ID,b.id...),否则会出现两个一样的id变量名导致报错。查看全部
-
command.xml里resultmap中的column要跟select语句中的别名一致,而不是跟数据库里的别名一致, 同时需要注意,select语句中的别名如果采取a.ID这样的形式,那a这个前缀是要删除掉的,只能采取 不是点号的a_ID这样的别名格式。查看全部
-
单条和批量删除查看全部
-
日志配置log4j查看全部
举报
0/150
提交
取消