发表于: 2017-12-09 23:57:33

1 594


今天完成的事:

1、jdbcTemplate插入数据后返回主键值,更新或删除后返回true/false。

2、Mybatis插入数据返回主键值,更新或删除后返回true/false。

3、解决centos7中mysql的中文乱码问题。


遇到问题:

1、mybatis连接数据库增删改查,可以只有dao没有dao的实现层,

实现删改后返回值为true/false,找了很多例子,但是都是必须得有dao的实现层。不知道是不是我找的方向不对。


网上的例子把我带的跑偏了,理解有误。哭晕在厕所。还是对这些方法理解不够。


2、linux中mysql中文乱码问题,百度有两种方式更改字符编码方式,修改配置文件my.cnf,或者直接用命令行改然后重启;

用命令行改完后,查询就没问题,但重启后就又出现问题了。

my.cnf中说分别在[mysqld],[mysql],[client]添加相关内容,但是my.cnf中只有一个[mysqld],添加character_set_server = utf8后仍没有解决;

解决方式:在my.cnf中添加[mysql],[client],再在下面添加相关内容。

[mysqld]

character_set_server = utf8

[mysql]

default_character_set=utf8

[client]

default_character_set=utf8





明天计划:

mybatis的注解方式去配置数据库;

总结任务1,包括maven命令,linux基本命令。


收获:

1、jdbcTemplate的增删改都是update()方法,其返回值是int类型,然后对再用if条件语句判断

int i = getJdbcTemplate().update(sql, id);


    插入数据后返回主键值很麻烦,代码

public void insertUser(final User user) {
KeyHolder keyHolder = new GeneratedKeyHolder();
   final String sql ="insert into users (name,age) values (?,?)";

   PreparedStatementCreator psc = new PreparedStatementCreator(){

public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
int i = 0;
                                    java.sql.PreparedStatement ps = conn.prepareStatement(sql);
                                    ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
                                    ps.setString(++i, user.getName() );
                                    ps.setInt(++i, user.getAge() );
                                    return ps;
                                }
};
           getJdbcTemplate().update( psc,keyHolder);
   int i = keyHolder.getKey().intValue();
   System.out.println(i);

}


2、mybatis插入数据后返回主键值就很容易了,两种方法

  方法1:在<insert>的内容中添加<selectKey>标签

<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Short">
SELECT LAST_INSERT_ID()
</selectKey

  方法二,<insert>添加相关属性值,keyProperty是主键的字段名

<insert id="insertUser"  parameterType="User" useGeneratedKeys="true" keyProperty="id" >


3、修改字符编码为utf-8,

  查看字符编码---SHOW VARIABLES LIKE 'character_set_%';

  查看用户权限---select host, user from user;

  重启mysql---  service mysql restart(5.5以上版本)

  

禅道:

http://task.ptteng.com/zentao/my-task.html


返回列表 返回列表
评论

    分享到